allow width to be given in percent