魷魚項目要求要作一個半透明的罩層,並且罩層上有一個相似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表明的是顏色,下面是透明度的對應表:
這樣就能完美解決透明度的問題了!~