詳解rgba相容性處理方法

來源:互聯網
上載者:User
根據caniuse(http://caniuse.com/#search=rgba),rgba相容性為IE9以及以上瀏覽器。

執行個體代碼:

<!doctype html><html>    <head>        <meta charset="UTF-8" />        <title>rgba 相容性處理</title>        <style type="text/css">            * {                margin: 0;                padding: 0;            }                        .parent {                width: 400px;                height: 400px;                margin: 100px;                font-size: 20px;                color: #FF0000;                border: 1px solid red;                background-color: rgba(0, 0, 0, 0.5);            }        </style>    </head>    <body>        <div>            rgba        </div>    </body></html>

chrome瀏覽器效果:

IE8瀏覽器效果(無背景):

rgba相容性處理:

.parent {                width: 400px;                height: 400px;                margin: 100px;                font-size: 20px;                color: #FF0000;                border: 1px solid red;                background: rgba(0, 0, 0, 0.5);                /*下一句關鍵設定*/                filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7f000000, endcolorstr=#7f000000);            }

設定filter屬性目的是上一行的透明度不起作用的時候執行,filter: progid:DXImageTransform.Microsoft.gradient是用來做漸層的,但是這個地方不需要漸層,所以兩個顏色都設定成了相同的顏色。

這個顏色“#7f000000”是由兩部分組成的。

第一部是#號後面的7f 。是rgba透明度0.5的IEfilter值。從0.1到0.9每個數字對應一個IEfilter值。對應關係如下:

即:alpha*255得到的值再轉換為16進位即可。

第二部分是7f後面的六位 是六進位的顏色值,跟rgb函數中的取值相同,比如rgb(255,255,255)對應#ffffff。

總結:至此完成IE8以及以下IE瀏覽器RGBA相容性處理。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.