IE8不支持rgba(),但是支持濾鏡,可以達到與rgba()相同的效果
需要注意的是:IE9支持濾鏡,同時也支持rgba(),如果同時使用,會看到雙重效果
IE10及其以上版本不支持濾鏡,支持rgba()。
1.寫法:
rgba:
.class{
background: rgba(0,0,0,0.75);
}
濾鏡(filter):
.class{
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#BF000000,endColorstr=#BF000000);
}
上面兩種寫法的效果相同。
2.IE9既支持濾鏡,也支持rgba(),如果把濾鏡寫在css中,在IE9下會看到雙重效果。
IE支持expression行內表達式,可以在html中只針對IE8設置濾鏡效果。
代碼如下:
<!--[if IE 8]>
<style>
.class{-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#BF000000,endColorstr=#BF000000)";}
</style>
<![endif]-->
寫在<head></head>中
3.濾鏡解釋:
startColorstr和endColorstr的值“#”後面由兩部分組成:前兩位是IEfilter值(透明度),後六位是顏色值,都是十六進制表示法;
IEfilter值(透明度)的計算方法:rgba的透明度 * 255,取整,再由十進制轉化爲十六進制即可
轉載:https://blog.csdn.net/littlebearGreat/article/details/71087644