IE解决方案为半透明

时间:2012-12-12 08:04:57

标签: css css3

为了在IE9之前的CSS中显示以下CSS,应采取哪种解决方法:

background-color: hsla(182, 44%,76%,.5);

3 个答案:

答案 0 :(得分:2)

透明元素你有更多的方法。

for IE - >

filter: alpha(opacity=40);  
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);  
/* above line works in IE6, IE7, and IE8 */  
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=40)";  
/* above line is IE8 only */ 

并适用于所有浏览器:

opacity: .7;  

但它们是透明的所有元素,如果你只需透明任何颜色,例如背景,你必须使用2个函数rgbahsla并为它们举例:

支持:(Firefox 3 +,Opera 10.1 +,Chrome 2 +,Safari 3.1 +)

#rgba {  
    background: rgba(98, 135, 167, .4);  
}  

但IE9仅支持所有版本的IE和所有浏览器支持css3

#hsla {  
    background: hsla(207, 38%, 47%, .4);  
}  

答案 1 :(得分:1)

您可以使用Microsoft专有的“过滤器”之一来执行此操作:

background:transparent;
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7FA7DBDD,endColorstr=#7FA7DBDD); 
zoom: 1;

十六进制值按ARGB顺序排列。因此,将颜色转换为RGB十六进制值,(在这种情况下为#A7DBDD)并将不透明度放在前面(0.5是十六进制的7F),如下所示:#7FA7DBDD

这最好在IE特定样式表中完成,也许使用条件注释。

答案 2 :(得分:0)

使用一个单独的纯色dom元素并设置不透明度......它可以正常工作:)

.bg {    背景:#000;    filter:alpha(opacity = 50);    不透明度:0.5; }