Css 不透明度和过滤器导致IE7内存泄漏

Css 不透明度和过滤器导致IE7内存泄漏,css,memory-leaks,filter,opacity,alpha-transparency,Css,Memory Leaks,Filter,Opacity,Alpha Transparency,我有一个div定义为 <div id="block_screen">&nbsp</div> 目的是在显示此div时将背景显示为半透明灰色。这就是为什么我使用不透明度和过滤器样式。它工作正常。但在IE7中,每次显示div时都会导致内存泄漏。我猜这是因为IE7无法优雅地处理不透明度和过滤器样式。 IE8和其他浏览器工作正常 如果我想使用IE7,这个问题有什么解决方法吗 在IE小于9的IE特定样式表中,我倾向于使用: -ms-filter:"progid:DXIma

我有一个div定义为

<div id="block_screen">&nbsp</div>
目的是在显示此div时将背景显示为半透明灰色。这就是为什么我使用不透明度和过滤器样式。它工作正常。但在IE7中,每次显示div时都会导致内存泄漏。我猜这是因为IE7无法优雅地处理不透明度和过滤器样式。 IE8和其他浏览器工作正常


如果我想使用IE7,这个问题有什么解决方法吗

在IE小于9的IE特定样式表中,我倾向于使用:

 -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
filter: alpha(opacity=85);
background-color: #000;

在我的脑海中,我相信-ms过滤器是一个ie6'ism和ie7/8的过滤器。我没有得到任何内存泄漏,所以说实话,我会被要求去别处寻找。

在IE小于9的特定样式表中,我倾向于使用:

 -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
filter: alpha(opacity=85);
background-color: #000;

在我的脑海中,我相信-ms过滤器是一个ie6'ism和ie7/8的过滤器。我没有收到任何内存泄漏,所以说实话,我会被要求去别处看看。

你还期望什么?不应使用过滤器。旧IE不能展示“酷的新东西”,接受它吧。当你添加像
Alpha(不透明)
这样的黑客时,因为你的客户要求IE6支持——你实际上在破坏IE6用户的体验。。。IE7没有那么极端,但还是一样。@c69,你从哪里学会了“不应该使用过滤器”的规则?旧IE(1997年发布的第4版)发明了“酷新东西”的概念,现在是CSS3规范的一部分。
Alpha(不透明度)
不是黑客,这是一个在CSS2发布之前创建的可靠功能,远远早于CSS3。除非它们被过度实现(像任何东西一样),否则它们不会破坏IE6/7用户的体验。在这种情况下,内存泄漏很可能与不正确的dom操作或泄漏的javascript事件有关。但它肯定与
过滤器
不透明度
属性无关。@MarcusPope当不太聪明的客户要求我为ie6制作带有alpha不透明度的图库时(在旧时代),可怜的家伙甚至无法移动(因为你有20个过滤器),经常崩溃。用户界面的响应性很差,当你尝试滚动或调整大小时,整个过程被锁定了10秒钟,然后重新绘制。这是更好的体验吗?我不这么认为。而且,DX过滤器非常好,以至于微软完全从IE10中删除了对它们的支持。@c69-Hmm,我不认为经验证明完全避免使用过滤器是合理的。听起来您的系统资源有限,可能还有一些回流问题,这两个问题都有解决办法。但这就是我指出适度使用不会破坏体验或导致内存泄漏的原因。是的,IE9中不推荐使用过滤器,因为它现在支持CSS3。这种转变与DX挂钩的质量无关,而与更新到现代标准有关。在1997年,它们是惊人的,而今天它们仍然是许多CSS3属性中最好的聚填充。你还期望什么?不应使用过滤器。旧IE不能展示“酷的新东西”,接受它吧。当你添加像
Alpha(不透明)
这样的黑客时,因为你的客户要求IE6支持——你实际上在破坏IE6用户的体验。。。IE7没有那么极端,但还是一样。@c69,你从哪里学会了“不应该使用过滤器”的规则?旧IE(1997年发布的第4版)发明了“酷新东西”的概念,现在是CSS3规范的一部分。
Alpha(不透明度)
不是黑客,这是一个在CSS2发布之前创建的可靠功能,远远早于CSS3。除非它们被过度实现(像任何东西一样),否则它们不会破坏IE6/7用户的体验。在这种情况下,内存泄漏很可能与不正确的dom操作或泄漏的javascript事件有关。但它肯定与
过滤器
不透明度
属性无关。@MarcusPope当不太聪明的客户要求我为ie6制作带有alpha不透明度的图库时(在旧时代),可怜的家伙甚至无法移动(因为你有20个过滤器),经常崩溃。用户界面的响应性很差,当你尝试滚动或调整大小时,整个过程被锁定了10秒钟,然后重新绘制。这是更好的体验吗?我不这么认为。而且,DX过滤器非常好,以至于微软完全从IE10中删除了对它们的支持。@c69-Hmm,我不认为经验证明完全避免使用过滤器是合理的。听起来您的系统资源有限,可能还有一些回流问题,这两个问题都有解决办法。但这就是我指出适度使用不会破坏体验或导致内存泄漏的原因。是的,IE9中不推荐使用过滤器,因为它现在支持CSS3。这种转变与DX挂钩的质量无关,而与更新到现代标准有关。在1997年,它们令人惊叹,今天它们仍然是许多CSS3属性的最佳聚合填充。你基本上是对的,但是
-ms filter
是一个ie8 ism,它允许标准兼容、供应商前缀、过滤器属性根据css2.1规范进行验证。你仍然可以在ie8和IE9中使用
filter:
,虽然该功能现在已被取消权限,并且可能不存在于IE10also中,但旧的
过滤器
属性现在与的名称冲突。您基本上是对的,但
-ms过滤器
是一个ie8 ism,允许符合标准,并带有供应商前缀,要根据css2.1规范验证的筛选属性。您仍然可以在IE8和IE9中使用
filter:
,尽管该功能现在已被取消权限,并且可能不存在于IE10also中,但旧的
filter
属性现在与的名称冲突。