【发布时间】:2011-05-26 01:35:08
【问题描述】:
我正在使用 :after 伪元素在 div 的底部绘制一个尖三角形。它按设计工作。但是,当我为 div 添加不透明度过滤器时,它在 IE 中停止工作(我正在 IE8 上对其进行测试)。它在 FF、Chrome 和 Safari 中运行良好。
这里是 HTML:
<html>
<head></head>
<body>
<div id="demo"></div>
</body>
</html>
这里是 CSS:
#demo {
background-color: #333;
height: 100px;
position: relative;
width: 100px;
}
#demo:after {
content: ' ';
height: 0;
position: absolute;
width: 0;
border: 10px solid transparent;
border-top-color: #333;
top: 100%;
left: 10px;
}
在 IE 中运行它并在此处查看类似于图像的结果:link text
现在将 IE opacity filter: 添加到#demo,使其看起来像这样并再次在 IE 中运行:
#demo {
background-color: #333;
height: 100px;
position: relative;
width: 100px;
filter: alpha(opacity=50);
}
请注意,不透明度过滤器有效,但 div 底部的三角形消失了。 同样的事情在所有其他浏览器中都可以正常工作(唯一的区别是您需要使用“opacity: 0.5”而不是 IE 特定的“filter: alpha(opacity=50);”)
有人知道为什么会这样,以及如何解决吗?
谢谢。
【问题讨论】:
标签: css internet-explorer opacity