0

(对不起我的英语不好)

昨天,我在使用具有非常大字体大小(200 像素)的@font-face 时遇到了一个问题:我的一个 div 在 Firefox 和 Chrome 中呈现不同。经过一番研究,我了解到这是由于 Firefox 和 Chrome 计算 line-height 的方式不同,指定 line-height 可以解决我的问题。

但是,令我惊讶的是,即使我什么都没做,当我在安全模式下启动 FF 时,问题就会自行解决!(它呈现类似于 Chrome)所以我想知道那是因为我自定义 FF 太多了?我创建了一个新的配置文件(没有插件,禁用所有插件,将所有设置重置为默认值)但是新创建的配置文件的工作方式与我的旧配置文件相同,并且安全模式下与 FF不同。我不明白吗?

4

1 回答 1

1

安全模式,除了关闭所有插件外,还会关闭 JIT 和硬件加速渲染。

如果您在 Windows 上(我假设是根据所描述行为的情况),那么关闭硬件加速渲染也会关闭 DirectWrite 文本渲染并改用 GDI。

但是 DirectWrite 和 GDI 最终会针对同一文本使用不同的字体度量:一方面,DirectWrite 可以进行亚像素字形定位,而 GDI 不能。因此,如果您打开安全模式,行高和文本布局的其他各个方面都会发生变化。

请注意,Chrome 使用 GDI 开始。另一方面,IE 9 和 10 使用 DirectWrite,因此值得测试您的页面在其中的行为方式;我敢打赌,它类似于非安全模式下的 Firefox。

于 2013-01-07T05:06:46.720 回答