css - 如何防止不同的浏览器呈现不同的字体?

标签 css fonts

我在尝试在所有浏览器中保持一致的字体样式时遇到了问题。如下所示,safari 的字体渲染系统使字体粗细小于 chrome 的字体粗细。

Safari : Safari

Chrome : Chrome

我已经尝试使用在其他问题上找到的解决方案,但它们并没有解决这个问题。如何在所有主要浏览器中保持一致的字体样式?即 Chrome、Safari、Opera、Firefox 和 Internet Explorer。

这是我尝试过的。

  1. -webkit-font-smoothing:抗锯齿;

  2. 字体粗细:800;

  3. 文本渲染:优化易读性;

最佳答案

总的来说,浏览器具有不同的字体渲染引擎/方法。有关更多详细信息,我建议阅读 this , this , 和/或 this .

老实说,对于普通用户来说,差异不会那么明显,而且在大多数情况下,任何东西的像素完美跨浏览器显示早已作为打印世界的后遗症而被抛弃。

如果出于某种受虐狂的原因,像素完美比完整性和可维护代码更重要,您可以尝试旧的备用方法(图像中的文本、图像/文本替换)或通过 CSS 关闭子像素渲染(尽管并非所有浏览器都支持它,并且文本的可读性会降低)。

希望对您有所帮助。

关于css - 如何防止不同的浏览器呈现不同的字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30876894/

相关文章:

html - Div的重叠

css - Angular CSS - 根据条件移动文本的位置

html - 如何在表格中的单元格之间添加空白区域?

css - 如何使自定义 css 字体呈现与设计完全一样

jquery - 如何通过一次更改 telerik 控件的所有字体

flash - 嵌入字体并在 Flash 中正确显示的问题

html - 覆盖字体 : in CSS

html - 行高与字体大小不匹配

JQuery 条款和条件加密狗

javascript - Jquery禁用文档缩放