2

嗯,这是一个众所周知的 IE 和 jQuery 错误:

IE 正在丢失 ClearType

我要问的是:在应用“修复”之前,是否有可能以某种方式消除这种丑陋的过渡效果。在 IE 中测试:

http://www.kevinleary.net/wp-samples/ie-fade-problems.php

虽然这是一个更糟糕问题的解决方案,但是否有可能修复这种过渡和“不明类型”内容的闪现?

它不会给我带来太多麻烦,但它适用于我在 jquery(superfish)中的主网站菜单 - 这些转换非常明显......

编辑:只需要注意一件事 - 这也发生在您的浏览器上吗?也许它是在 IE 设置中的东西?

4

3 回答 3

2

淡入淡出发生在该内容上时,没有办法修复 cleartype 变得丑陋。这只是 IE 团队关于如何实现其不透明度过滤器(Direct X,它在 IE 中实现的方式不支持 ClearType)的一个(IMO)错误决定。

唯一可行的其他选项是淡化其他内容,例如<div>淡入淡出的顶部,而不是文本淡出的内容...但是您说您的用途是用于菜单,因此实际上并不适用这里。

于 2010-11-23T10:01:19.977 回答
2

我阅读了各种针对 Internet Explorer 褪色问题的潜在解决方案,但似乎没有任何效果。

最终,我决定使用此线程中描述的绝对定位的 DIV 叠加层。但是,我有一个动态高度,所以我使用 jQuery 在淡入淡出之前更改了 DIV 的高度。我的代码最终看起来像这样:

$("#fade-canvas").css('height',$("#wrapper").height()+'px').show();
     /* HIDE or SHOW wrapper child elements as needed */
$("#fade-canvas").css('height',$("#wrapper").height()+'px').fadeOut(600);

把我的头发拉出来解决这个问题,所以希望这能帮助别人。

于 2011-10-28T06:27:43.103 回答
0

很好的解决方案尼克!

各种脚本已经实现了修复(如循环),但目前我发现在动画期间修复像素化文本的最佳选择正是 nick 推荐的:覆盖 DIV 而不是淡化文本本身。

抱歉,我无法为蓝宝石提供更多帮助,但感谢您的阅读!

于 2011-01-18T01:36:18.243 回答