【问题标题】:Font Anti-Aliasing with jQuery fadeIn使用 jQuery fadeIn 进行字体抗锯齿
【发布时间】:2012-07-13 04:49:28
【问题描述】:

现在,当鼠标悬停在不同的 div 上时,我会发生多个 fadeIn() 和 fadeOut() 事件。 div 中淡入淡出的文本看起来非常像素化,直到 fadeIn 事件完成后,它才会“弹出”成看起来更平滑的文本。

我想知道是否可以在实际淡入之前告诉 div 平滑字体,或者我只能通过使 div 成为图像来实现这种效果?

查看维恩图,悬停在http://www.daemondeveloper.com

【问题讨论】:

  • 我没有看到任何“像素化”。 jsfiddle.net/g2k8E 。您使用的是什么浏览器和屏幕分辨率?
  • 添加了一点暂停:jsfiddle.net/g2k8E/1 Safari/Mac 似乎在制作动画时使用了“更便宜”、更薄的抗锯齿功能。
  • 可能是因为我也使用了 2D 变换?在我的网站daemondeveloper.com 上查看它,当您将鼠标悬停在维恩图上时,div 会淡入

标签: jquery css


【解决方案1】:

这曾经是一个更广泛的问题,但它仍然是 IE 的问题。您可以采取一些措施来解决此问题。首先,确保你的淡入淡出元素有背景。

更大的问题是 IE 如何通过其不透明度过滤器呈现文本渲染。除了明显的抗锯齿外,字母形状实际上也可以发生很大变化。一种解决方案是将 IE 的不透明度过滤器预先应用到 99% 的元素。这本质上是不透明的,但它确保元素将在您的 jQuery 效果期间一致地呈现。

基于 Ivan 的 jsfiddle,这个演示了背景对淡化文本的影响(在 IE8 中测试):http://jsfiddle.net/joemaller/WLjXW/

关键是这样的css规则:

#sometext {
  background: #fff;
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=99)";
  filter: alpha(opacity=99);
}

类似问题:ie problem with fading in text
更多关于 IE 不透明度规则:http://www.quirksmode.org/css/opacity.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    相关资源
    最近更新 更多