【问题标题】:Font rendering differently on all OS X browsers所有 OS X 浏览器上的字体呈现方式不同
【发布时间】:2012-11-24 06:56:12
【问题描述】:

我正在开发这个网站,我使用 CSS 来设置菜单按钮的样式。

它们在 Windows 上看起来都不错,但是当我在 OS X 上试用它们时,它们呈现错误。更奇怪的是,它们在一个页面上显示得很好,但 [在我看来] 在另一个页面上却不太好:

字体呈现模糊:

字体以“瘦”模式呈现:

另外,我发现如果我将鼠标悬停在一个元素(即徽标)上,该元素(即徽标)在悬停时应用了 CSS3 过渡,blurry 渲染的字体会变成 skinny,但是当 CSS3 动画结束时,它们会恢复 blurry 渲染。

原因中的 CSS 转换:

.logo {
    float: left;
    margin-left: 0px;

    -moz-transition: all 0.3s ease-out;  /* FF4+ */
    -o-transition: all 0.3s ease-out;  /* Opera 10.5+ */
    -webkit-transition: all 0.3s ease-out;  /* Saf3.2+, Chrome */
    transition: all 0.3s ease-out;

    -webkit-transform: rotate(0deg);
}

.logo:hover {
    -moz-transition: all 0.3s ease-out;  /* FF4+ */
    -o-transition: all 0.3s ease-out;  /* Opera 10.5+ */
    -webkit-transition: all 0.3s ease-out;  /* Saf3.2+, Chrome */
    transition: all 0.3s ease-out;  

    -moz-transform: rotate(-3deg) scale(1);  /* FF3.5+ */
    -o-transform: rotate(-3deg) scale(1);  /* Opera 10.5 */
    -webkit-transform: rotate(-3deg) scale(1);  /* Saf3.1+, Chrome */
    transform: rotate(-3deg) scale(1);  

    zoom: 1;
}

您可以在这里现场观察这种现象:http://pote.ca

帮助?请问?
提前致谢! :)

更新:

我将verdana 用于菜单项,并为 // bun venit 消息使用另一种字体。

另一个看起来不好看的字体示例是 Google 分析页面上的菜单:

【问题讨论】:

  • 您的“不好看”完全是主观的。您只是习惯 Windows 的字体渲染。我个人认为 Windows 的字体看起来很糟糕,而 OS X 的字体看起来不错。这两种方式都不是“正确的”或“更好的”。如果有的话,OS X 可以说是“更正确”,因为它更好地保留了字母的原始形状。
  • 我确实理解你的意思,但我只是无法理解“报告”中的“R”或“g”(问题中的最后一张图片)是如何正确呈现的。 . 如果有人能让我相信这是设计师最初的意图,我很乐意接受你的论点是有效的。但这有点不可能,至少在我看来……
  • 有趣的是,这听起来像是“这不是一个错误,而是一个功能......”:)
  • 嗯,要说这是一个错误,您首先需要证明为什么一个比另一个更正确。正如我所说,目前我们还处于他说/她说主观不喜欢的阶段。 :P 我并不是说 Apple 的做事方式可能没有有问题,但它就是这样,它是可行的,我喜欢它(或者至少不喜欢它),而且我还没有看到确凿的证据证明 Windows 在客观上做得更好。
  • 我们实际上可能会像 Apple 一样得出结论,我的 2012 年中期 MBP i7 非视网膜只是“不够好”,我只是 需要 视网膜模型来享受我喜欢的东西以为我已经付了钱……

标签: macos google-chrome css safari webkit


【解决方案1】:

这并没有“糟糕”地渲染,它使用了与 Windows 完全不同的字体渲染策略。 OS X 倾向于更好地保留字符的原始形状,而 Windows 则试图将字符推入像素网格。结果看起来不同,而不是“更糟”。是的,您需要在设计中考虑到这一点。

有关参考,请参阅A Closer Look At Font RenderingCoding Horror: What's Wrong With Apple's Font Rendering? 等。

【讨论】:

  • 很酷,但是为什么当 CSS 动画发生时它会自行纠正呢?如果它可以自我纠正,那就意味着我可以一劳永逸地纠正它......
  • 在动画优化期间关闭了抗锯齿功能。您可以尝试禁用它,但不能保证它会产生效果,而且对于用户来说也可能是一种不和谐的体验,因为他们习惯于以某种方式呈现文本。见stackoverflow.com/questions/13260431/…
猜你喜欢
  • 2013-06-13
  • 2015-09-01
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
相关资源
最近更新 更多