我遇到了一个棘手的 CSS 问题。由于网站“主题”的 CSS 是第三方的(无法更改,但我们可以用另一个样式表覆盖),并且页面上的所有内容都使用绝对定位进行布局和大小(无法更改)。
在这个第三方 CSS 的某个地方,我们有这样的声明:
body {
line-height: 1.3;
}
页面上的Adiv
有一个font-size
of 14px
,使其行高18.2px
。这对于典型的网站来说很好。然而,由于一切都是绝对使用像素位置定位的,字体渲染差异正在发挥作用。具体来说,Windows 中的 Google Chrome 将其四舍五入line-height
为18px
. 这意味着在 Chrome for Windows 中呈现的大块内容div
比在任何其他浏览器中的呈现时间要短得多。所有其他浏览器似乎都支持亚像素线高。
有什么方法可以强制 Windows 版 Chrome 尊重子像素行高,这样它的呈现方式就不会与其他浏览器有很大不同?
更新
这是一个展示差异的 JSFiddle。如果您比较 Chrome for Windows 和 Firefox for Windows 中的高度,您会发现0.2px
每行都存在差异。