4

当使用 CSS 设置元素的宽度时,我经常想要设置不是整数百分比的百分比宽度。

是否所有(我怀疑)浏览器都以相同的方式处理小数百分比,还是以不同的方式呈现?

我可以准确地将它用于布局吗?

4

2 回答 2

5

Webkit 浏览器处理亚像素舍入的方式与其他浏览器非常不同。以至于它被认为是一个持续存在的问题。同时,Firefox 和 Opera 似乎能够很好地处理亚像素渲染;我没听说过很多问题。

IE 完全是另一回事。

以下是有关此主题的更多链接:

不久前我问了一个类似的问题。这是我从那时起能够收集到的(来自公认的答案和其他地方)。

于 2012-08-27T14:48:48.800 回答
4

是的,他们这样做。

根据我的记忆:

在 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 也是一个障碍。如果您不必处理这些错误,您可以继续使用百分比宽度。

于 2012-08-27T14:53:10.587 回答