1

由于某种原因过滤器:不透明度在 IE8 中不起作用。我有一段时间没有使用它,但它总是有效,我不知道问题是什么。此外,萤火虫根本没有显示过滤规则,只是正常的不透明度。

有任何想法吗?

ul.products-grid img:hover {

    opacity: .8;
    filter:alpha(opacity=80);
}
4

5 回答 5

1

标签是

filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);

试试这个

于 2013-02-06T15:56:42.283 回答
1

在 IE8 中,你可能还需要;

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";

您不妨看看Cross Browser Opacity

于 2013-02-06T15:57:02.850 回答
1

尝试这个:

ul.products-grid img:hover {
    opacity: .8; /* Standards Compliant Browsers */
    filter:alpha(opacity=80); /* IE 7 and Earlier */
    /* Next 2 lines IE8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
}

如果您希望您的页面validate,使用如下 if IE 语句将您的标准样式表与您的 IE 样式表分开:

<!--[if IE]>
<link rel="stylesheet" type="text/css"  href="stylesheetname.css" />
<![endif]-->
于 2013-02-06T15:57:36.933 回答
0

你的 CSS 工作正常。在这里查看演示,http://jsfiddle.net/e26Pz/2/

也许问题可能出在DOC类型上。在我使用的示例中<!DOCTYPE html>

你用的是什么Doc类型的?

完整的演示代码

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> - jsFiddle demo</title>
  <style type='text/css'>
    img:hover {    
       opacity: 0.4;
       filter:alpha(opacity=40);
    }
  </style>

</head>
<body>
     <img src="https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-prn1/69651_408104205949356_2097957740_n.jpg" />      
</body>   
</html>
于 2013-02-06T16:00:38.130 回答
0

还要检查您的页面是否在 IE 中以 quirks 模式呈现。我认为 IE8 可能不支持任意元素上的 :hover 伪类,除非它处于标准遵从模式。

类似的情况和解释在这里

于 2013-02-06T15:53:45.353 回答