【问题标题】:Why is transitioning font-size so choppy in Chrome?为什么在 Chrome 中转换字体大小如此不稳定?
【发布时间】:2014-06-25 19:58:07
【问题描述】:

在两种不同字体大小之间应用 CSS 过渡时,生成的动画在 Firefox 中是平滑的,但在 Chrome 中却很不稳定。

div {
    font-size: 87.5%;
    padding: .5em;
    margin: .5em;
    transition: font-size .25s ease-in-out .25s, 
                padding .25s ease-in-out .25s, 
                margin .25s ease-in-out .25s;
}

div:hover {
    font-size: 100%;
}

现场演示: http://jsfiddle.net/B7Zyp/2/(将鼠标悬停在带有蓝色边框的框上)

这是为什么呢?有没有办法让 Chrome 中的动画流畅?

【问题讨论】:

  • 我认为这不是浏览器的问题。首先,每个字符每次都需要增加一点,许多字符的像素差异的集合是肉眼可见的。其次,每行的断行会迫使单词换行,会感觉起伏不定。
  • @Daniel Cheung:那么为什么 Firefox 能够比 Chrome 做得更好?
  • @Šime Vidas,好吧,它给我带来了不同(ubuntu 上一个相当老的 chrome [18.0.xx])但足够公平。删除了这个无用的答案。

标签: html css google-chrome firefox animation


【解决方案1】:

Chrome 目前不使用 DirectWrite 在 Windows 上进行字体渲染。文本没有抗锯齿,因此字体大小被四舍五入(到最接近的整数?)。

不过,他们正在努力。请参阅相关错误票证上的this comment,尤其是附件:

如果您使用正确的标志启用 DirectWrite,它应该可以流畅地动画。

【讨论】:

  • 有点离题,但这只是我见过的最好的pangram,因为你可以想象现实生活中有人会说它(尽管谁把酒放在壶里?)。
  • 我已经在 Canary 中签入并设置了 DirectWrite 标志。光滑如黄油。顺便说一句,我听说这个功能将在 37 版中默认启用。
  • 显然,谷歌的那个有头脑的男孩还没有破解过这个。 chrome 的工作人员开始落后了....
猜你喜欢
  • 1970-01-01
  • 2011-10-12
  • 2012-04-26
  • 2011-01-08
  • 2018-09-24
  • 1970-01-01
  • 1970-01-01
  • 2020-05-25
  • 2013-03-29
相关资源
最近更新 更多