【问题标题】:Firefox not rendering Open Sans, sans-serif , font size : 11 properlyFirefox 无法正确渲染 Open Sans、sans-serif、字体大小:11
【发布时间】:2017-01-13 13:11:46
【问题描述】:

这是字体在 chrome 中的外观:

这是火狐:

注意到 Firefox 中字母之间奇怪的间距了吗?不过在 chrome 中没问题。

我观察到的一些事情:

  • 更改字体大小可以解决问题
  • 更改字体粗细可以解决问题

如何通过更改源代码(而不是通过更改操作系统设置或 firefox 浏览器设置)使 firefox 正确呈现字体?

【问题讨论】:

  • 脏方法:检测 FF 的用户代理,添加一个添加一点字体大小或字体粗细的类,在使用 Javascript 的文档上删除该类。这会强制 FF 重新绘制字体。
  • 甚至 Mozilla 自己也认为开始嗅探用户代理是个坏主意。 developer.mozilla.org/en-US/docs/Web/HTTP/…
  • 文字是justified吗?如果是这样,我们可能会看到 Chrome 和 FF 处理字母间距的方式不同。无论哪种方式,如果添加letter-spacing: normal 会发生什么? letter-spacing: 0呢?
  • 这修复了它!您应该将此添加为答案。谢谢!

标签: css firefox fonts


【解决方案1】:

如果您是唯一遇到此问题的人:

如果这实际上与浏览器有关,您可能想了解一下字体平滑的神奇世界。 (这不是神奇的,而是一场噩梦,但我们会解决的)。

所以我已经阅读了本主题中的所有选项,并且您的 CSS 似乎应该包含以下规则: Webfont Smoothing and Antialiasing in Firefox and Opera

.font-smoothing {
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

你能告诉我这是否有效吗?我现在也很感兴趣。

【讨论】:

  • 当然。尽快。
  • 没有解决方案吗?你能创建一个有这个问题的 jsfiddle 让我在这里检查吗?
  • 我无法尝试第一个解决方案,因为该网址在我的办公室被阻止。 JSFiddle 没有复制问题,因此最好创建一个 html 文件并在 chrome 和 firefox 中打开它............
    写下来或有效参考ef
  • 嗯,这很奇怪,似乎是您的显示器导致了问题,因为我似乎无法重现问题:i.gyazo.com/47a3457ff46f705bf9b982bfef3c1cc3.png
  • 看来我必须找到解决此问题的方法。非常感谢您的帮助!
猜你喜欢
  • 2016-12-29
  • 2013-10-17
  • 1970-01-01
  • 2016-09-13
  • 2014-10-21
  • 2016-08-08
  • 2011-02-09
  • 2021-04-09
  • 1970-01-01
相关资源
最近更新 更多