allow width to be passed as percent