WebKit 中的百分比 Bug

Avatar of Chris Coyier
Chris Coyier 发布

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费信用额度!

在 WebKit 浏览器中,使用百分比值来设定某些元素可能会导致意想不到的结果。例如,如果您有一系列以百分比宽度和百分比填充设置的列,WebKit 可能会以相当奇怪的方式计算它们的尺寸。

更新:WebKit 现在 拥有 子像素渲染功能,这应该可以解决这个问题。
红色线条表示使用 WebKit 渲染的列。灰色背景阴影是这些列以百分比宽度精确放置的位置。

似乎是百分比本身存在问题。虽然我还没有找到很多关于它的信息,但我似乎记得很早以前读过关于它的一些内容。我认为它与子像素值是如何计算的有关。例如,如果一个容器当前的宽度为 657px,并且有四列,每列占 25%,则它们将分别为 164.25px 宽度,而 WebKit 无法很好地处理这种情况(四舍五入问题?)。其他浏览器可以正常处理“子像素”值。

Firefox、IE 和 Opera 都没有问题。

感谢 Nicolas Gallagher 指出这一点。如果我在这方面落伍了,请随时责怪我,但请给我一些链接和信息,以便我用最准确的信息更新这篇文章。 此链接 似乎表明这个问题已经存在一段时间了。

请记住,只有在您使用这些示例中显示的带有纯色列的示例时,这才是真正的问题。如果您没有使用任何视觉分隔符,这可能不是什么大问题,只是一种很小的跨浏览器差异,很少有人会注意到。