不同的浏览器渲染小数百分比大小是否不同



当使用CSS设置元素的宽度时,我经常希望设置不是完整百分比的百分比宽度。

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

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

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

IE完全是另一回事。

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

  • CSS中的子像素问题
  • Webkit中Bug的百分比

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

是的。

根据我的记忆:

在Opera中,你不能设置百分比的小数点,所以如果你设置33.3%,它只使用33%(相当烦人)(编辑:Opera可能在当前版本中有所改进)

在Firefox中,如果百分比加起来是100%,那么像素加起来并不总是100%
例如,你有一个外部div,它有三列,宽度都是33.33333%。如果外部div的宽度是100px,那么这些列将有33个像素,总和是99个像素,而不是100。(编辑:Firefox比我记忆中做得更好。也许他们改进了)

老IE,我不记得IE9似乎工作得很好。当然,最糟糕的是IE7,它被四舍五入(作为IE6,但谁在乎呢?)。IE8/9似乎工作正常

Chrome运行良好

Safari:记不起


编辑

她的可以自己测试
http://jsfiddle.net/fTpFw/


结论

在我摆弄了不同的浏览器之后,我认为它们都有所改进。现代浏览器中唯一糟糕的实现(从我想要实现的)是Opera和Safari。IE7也是一个终结者。如果你不必处理这些bug,你可以继续使用百分比宽度。

相关内容

最新更新