allow width/height to be passed as percent