2012-01-23 56 views
1

我试图按照CSS: semi-transparent background, but not text中的建议操作。我对Firefox,Safari,Opera和Chrome中的结果感到高兴。通过这些浏览器,我可以获得类似于下面的结果,您可以在标题下看到透明背景。不过,我遇到了IE的问题。透明背景颜色,但在IE 6和7中不透明文本

您应该click here to see the jsfiddle

Expected Result

在IE8是确定的,但在IE6/7没有彩色带可言。任何人都知道如何解决它?

+1

退房类似的问题 - http://stackoverflow.com/questions/3975688/css-background-opacity-with-rgba-not-working-in-ie-8 –

回答

1

div.header

删除:

background-color: #0a5787; 
background: transparent; 

地址:

background: none; 
zoom: 1; 

变化:

/* For IE 5.5-7 */ 
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#900a5787, endColorstr=#900a5787); 
/* For IE 8 */ 
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#900a5787, endColorstr=#900a5787)"; 

这适用于IE7,当我测试它,理论上我确定它应该在IE6中工作,但在我的模拟器上它不工作。

的jsfiddle:这里http://jsfiddle.net/3jEbC/

+1

在此期间,我尝试了与IE7一起使用的PNG技巧http://jsfiddle.net/xhrAJ/10/,并在IE6中提供了全彩色。但是你的解决方案是完美的!它也适用于IE6,你太棒了!谢谢! – stivlo

+0

啊终于我明白了MS字符串像#900a5787,前两个十六进制数字是透明的,其他6种颜色! – stivlo

+0

@stivlo我相信浏览器会调用DirectX API,这就是为什么它是向后的。看看这篇博文:[如何在IE中使用RGBA()](http://kilianvalkhof.com/2010/css-xhtml/how-to-use-rgba-in-ie/) –