使用jQuery fadeIn进行字体抗锯齿

时间:2012-07-10 17:50:58

标签: jquery css

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

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

查看位于http://www.daemondeveloper.com

的维恩图

1 个答案:

答案 0 :(得分:3)

这曾经是一个更广泛的问题,但它仍然是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