当使用 CSS 设置元素的宽度时,我经常想要设置不是整数百分比的百分比宽度。
是否所有(我怀疑)浏览器都以相同的方式处理小数百分比,还是以不同的方式呈现?
我可以准确地将它用于布局吗?
Webkit 浏览器处理亚像素舍入的方式与其他浏览器非常不同。以至于它被认为是一个持续存在的问题。同时,Firefox 和 Opera 似乎能够很好地处理亚像素渲染;我没听说过很多问题。
IE 完全是另一回事。
以下是有关此主题的更多链接:
不久前我问了一个类似的问题。这是我从那时起能够收集到的(来自公认的答案和其他地方)。
是的,他们这样做。
根据我的记忆:
在 Opera 中,您无法设置百分比的小数位,因此,如果您设置 33.3%,它仅使用 33%(相当烦人)(编辑:Opera 可能在当前版本中有所改进)
在 Firefox 中,如果您的百分比相加为 100%,则像素并不总是相加为 100% 的像素,
例如,您有一个包含三列宽度的外部 div:33.33333%。如果外部 div 的宽度为 100 像素,则列将有 33 像素,总和为 99 像素而不是 100。(编辑:Firefox 比我记得的要好。也许他们改进了)
旧的 IE,我不记得 IE9 似乎工作正常。坏的当然是 IE7,它会四舍五入(作为 IE6,但谁在乎呢?)。IE8/9 似乎工作正常
铬工作正常
Safari:不记得了
她的可以自己测试
http://jsfiddle.net/fTpFw/
在我在不同的浏览器中使用我的小提琴之后,我认为它们都得到了改进。现代浏览器中唯一不好的实现(从我想要实现的)是 Opera 和 Safari。IE7 也是一个障碍。如果您不必处理这些错误,您可以继续使用百分比宽度。