解決IE8下不兼容rgba()的解決辦法


引入

    魷魚項目要求要做一個半透明的罩層,而且罩層上有一個類似alert框的div。因為如果用opacity的話,父級有了透明度就會影響子級,所以用rgba()就能解決透明度繼承的問題。但問題又來了,rgba()是css3的新屬性,所以IE8及以下瀏覽器不兼容,這怎么辦呢?終於我找到了解決辦法。

出現問題

  如果用rgba(),在非IE8及以下瀏覽器是這樣的效果:

                                     

     如果在IE8及以下瀏覽器就變成了這樣:

                                     

  透明度消失了!!!!!!

解決辦法

    我們先來解釋以下rgba

      rgba:

      rgba的含義,r代表red,g代表green,b代表blue,a代表透明度。   

      rgba(0,0,0,.5) 這樣就代表了黑色,透明度為0.5

                 

           要想解決在IE8下的透明度問題,可以增加這樣一句話:

     filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);    /*IE8支持*/

           這句話本來是做漸變用的,但是這里沒有漸變效果所以startColorstr和endColorstr設置為同一種顏色。

           這里的#7f000000,#7f代表的是透明度,000000代表的是顏色,下面是透明度的對應表:

            

 
        

    這樣就能完美解決透明度的問題了!~

         

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM