詳解css透明度之rgba和opacity的區別及兼容

對于設置透明度,我們有兩個可以選的css3屬性:rgba 和 opacity
opacity
用法:

詳解css透明度之rgba和opacity的區別及兼容

IE9, Firefox, Chrome, Opera 和 Safari 使用屬性 opacity 來設定透明度 。
opacity 屬性能夠設置的值從 0.0 到 1.0 。值越?。?越透明 。
IE8 以及更早的版本使用濾鏡 filter:alpha(opacity=x) 。x 能夠取的值從 0 到 100 。值越?。?越透明 。
所以如果項目為了要兼容IE8及以下,則需要寫兩段代碼
詳解css透明度之rgba和opacity的區別及兼容

RGBA
用法:
詳解css透明度之rgba和opacity的區別及兼容

RGBA 顏色值是 RGB 顏色值的擴展,帶有一個 alpha 通道 - 它規定了對象的不透明度 。
RGBA 顏色值得到以下瀏覽器的支持:IE9 、Firefox 3 、Chrome、Safari 以及 Opera 10。
RGBA 顏色值是這樣規定的:rgba(red, green, blue, alpha) 。alpha 參數是介于 0.0(完全透明)與 1.0(完全不透明)的數字 。
那么對于IE8及以下需要做以下兼容:
詳解css透明度之rgba和opacity的區別及兼容

其中:#88000000 的前兩位數字控制透明度,取值16進制從00 -> FF(越小越透明) , 00表示完全透明,FF就是全不透明,后面六位是色值 。
【詳解css透明度之rgba和opacity的區別及兼容】**※注意:
如果在IE9里面同時使用這RGBA兩種方法時 , 會造成沖突而無法做到透明度的實現 。
而對于opacity是可以兩個一起寫,沒有沖突問題!**
opacity 和 rgba 的區別
為此我們設置了兩個盒子來作為對比
html代碼:
詳解css透明度之rgba和opacity的區別及兼容

css代碼:
詳解css透明度之rgba和opacity的區別及兼容

結果如圖:
詳解css透明度之rgba和opacity的區別及兼容

從上面的結果我們可以看到 opacity 可以影響字體以及紅色小方塊的透明度,而 rgba 不會 。
說明了子元素會繼承父元素的 opacity 屬性


相關經驗推薦