使用jQuery动画在资源管理器中使用Font-family渲染效果不佳

我在我的CSS中使用它…

.myclass { font-size: 16px; font-style: italic; font-family: Georgia, "Times New Roman", Times, serif; } 

除了Explorer之外,它在所有浏览器中都呈现出漂亮和流畅。 (我只在XP SP2上的IE8中测试过)

在资源管理器中,它看起来很恐怖! 根本没有字体平滑。

但是,对于以“display:none;”开头的DIV块,这只是一个问题。 并用jQuery揭示……

  
function message(msg) { $("#messageBox").slideDown('slow'); $("#message").html(msg).animate({opacity: 1},500); };

当我在其旁边放置一个包含相同内容和相同样式的重复DIV时,字体渲染完全正常。 只有当我使用jQuery动画向下滑动它并显示它仍然是锯齿状和丑陋时。

我有更好的方法来做这件事吗? 也许应该在我的家庭中添加一个不同的serif字体,它将在包括Explorer在内的所有浏览器中正确呈现。

谢谢!

是的,问题在于不透明度。 IE的不透明度的方式是它的dxfilters废话,它会禁用字体抗锯齿。

可以通过执行以下操作来修复它:

 $("#message").html(msg).animate({opacity: 1},500, function() { $(this).css('opacity', ''); }); 

例如,在动画结束后,取消设置不透明度css规则,并希望IE重置为“默认”渲染。 如果这不起作用,请尝试使用未设置不透明度的新副本替换整个div。