CSS 实现背景半透明

时间:2021-12-08 22:31:02

  IE过渡滤镜 + CSS3 rgba 即可完美实现。

  具体实现代码如下:

.transparent {
    background:rgba(0, 0, 0, 0.3);
    filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#4c000000', EndColorStr='#4c000000');
}
:root .transparent {
    filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#00000000', EndColorStr='#00000000');
}

  提示:IE9 支持 filter 与 rgba 属性,这会导致其背景透明度双倍叠加!

解决:使用 :root 伪类为 IE9 单独写 HACK 并将其透明度降为 0 即可。