该opacity
风格的影响在它整个元素和一切。正确的答案是改用rgba背景色。
CSS非常简单:
.myelement {
background: rgba(200, 54, 54, 0.5);
}
...前三个数字是背景色的红色,绿色和蓝色值,第四个数字是“ alpha”通道值,其作用方式与该opacity
值相同。
请参阅此页面以获取更多信息:http : //css-tricks.com/rgba-browser-support/
不利的一面是,这在IE8或更低版本中不起作用。我在上面链接的页面上还列出了一些其他无法使用的浏览器,但现在它们都已经很旧了。当前使用的所有浏览器(IE6 / 7/8除外)都可以使用rgba颜色。
好消息是,您可以使用称为CSS3Pie的黑客强制IE也与此一起工作。CSS3Pie在IE的较旧版本中添加了许多现代CSS3功能,包括rgba背景色。
要将CSS3Pie用作背景,您需要向-pie-background
CSS 添加特定的声明以及PIE behavior
样式,因此样式表最终将如下所示:
.myelement {
background: rgba(200, 54, 54, 0.5);
-pie-background: rgba(200, 54, 54, 0.5);
behavior: url(PIE.htc);
}
希望有帮助。
[编辑]
正如其他人提到的,它的价值是可以使用IE的filter
样式以及gradient
关键字。CSS3Pie解决方案实际上在幕后使用了相同的技术,但是无需您直接去搞砸IE的过滤器,因此样式表更加简洁。(它也添加了很多其他不错的功能,但这与本讨论无关)