Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Internet Explorer上的淡入淡出图像透明度_Javascript_Css_Image - Fatal编程技术网

Javascript Internet Explorer上的淡入淡出图像透明度

Javascript Internet Explorer上的淡入淡出图像透明度,javascript,css,image,Javascript,Css,Image,我正在使用一些javascript来淡入淡出的图像:一个从一个图像淡入下一个图像的图库。图像还可以覆盖标题。标题后面的图像略微淡出,因此可以更清晰地看到标题: background: #fff; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; /* IE 8 */ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75); /* Older IEs

我正在使用一些javascript来淡入淡出的图像:一个从一个图像淡入下一个图像的图库。图像还可以覆盖标题。标题后面的图像略微淡出,因此可以更清晰地看到标题:

background: #fff;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; /* IE 8 */
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75); /* Older IEs */
opacity: 0.75; /* Real browsers */
但是,在Internet Explorer中,您会看到标题后面的下一张图片。这并不理想

请参见此处(屏幕抓图),其中标题下的下一幅图像显示如下:


注意:在IE7、IE8和模拟IE7的IE8中可以看到这个问题。据我所知,它在IE9中是看不到的,甚至当IE9被用来模拟IE的早期版本时也是如此。模拟器显然是不完美的。

IE无法处理
不透明性属性。您需要使用黑客:

background: #fff;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; /* IE 8 */
filter: alpha(opacity=75); /* older IEs */
opacity: 0.75; /* modern browsers */

请注意,这些过滤器使用的范围是0到100,而不是0.0到1.0。像jQuery这样的框架可以为您做到这一点,如果您在动态分配样式,这非常方便。

还需要注意的是,它有助于确定IE的版本,目前只有4个。我在IE7和IE8中看到了这一点。我想在IE6中也不会更好,但我还没有检查。浏览一下演示。@TRiG-我已经看过IE7、IE8、IE9和Firefox 3.6中的演示,就我所见,它们看起来都完全一样。标题后面的图像与屏幕上当前显示的图像相同。我不认为你可以包括一个图像显示问题为你的目的?我会尝试做一个屏幕抓取。屏幕抓图补充道:“如果图像的形状都一样,或者颜色对比度更高,这可能有助于让事情变得更明显。”。谢谢您的建议。@elvasive-filter:alpha(…)适用于IE8及以上版本,因此您不需要-ms-filter属性。或者-ms过滤器有什么特别的作用吗?@我头疼:这是一个解决怪癖模式和兼容性模式中一些问题的方法。你应该加上它以确保安全。这里的顺序也很重要。事实上,我也有这两种。我真傻,没有在问题中加入完整的CSS。我再加上。一定要看一下演示文稿。@难以捉摸-谢谢,我不知道。如果顺序很重要,那么-ms过滤器是否应该在样式层叠时位于
过滤器之后:…
,或者
“progid:…”
是否应该在以下
过滤器中设置值?@我的头痛:您需要使用我的示例中所述的顺序。否则,IE7兼容模式下的IE8将不会应用不透明度(不要问我这是为什么)。