鱿鱼项目要求要作一个半透明的罩层,并且罩层上有一个相似alert框的div。由于若是用opacity的话,父级有了透明度就会影响子级,因此用rgba()就能解决透明度继承的问题。但问题又来了,rgba()是css3的新属性,因此IE8及如下浏览器不兼容,这怎么办呢?终于我找到了解决办法。css
若是用rgba(),在非IE8及如下浏览器是这样的效果:css3
若是在IE8及如下浏览器就变成了这样:浏览器
透明度消失了!!!!!!spa
咱们先来解释如下rgba3d
rgba:code
rgba的含义,r表明red,g表明green,b表明blue,a表明透明度。 orm
rgba(0,0,0,.5) 这样就表明了黑色,透明度为0.5blog
要想解决在IE8下的透明度问题,能够增长这样一句话:继承
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000); /*IE8支持*/
这句话原本是作渐变用的,可是这里没有渐变效果因此startColorstr和endColorstr设置为同一种颜色。ci
这里的#7f000000,#7f表明的是透明度,000000表明的是颜色,下面是透明度的对应表:
这样就能完美解决透明度的问题了!~