IE8下相容rgba顏色的半透明背景

來源:互聯網
上載者:User

標籤:

在工作中做一個圖片半透明遮罩時發現在IE8下不相容

一查再知道IE8不支援rgba顏色,再搜搜相容性方法,沒想到這麼快就解決了。

先說說rgba的含義:

r代表red,g代表green,b代表blue,a代表透明度。紅綠藍是三原色,所有顏色都可以由這三種顏色拼合而成。比如rgba(0,0,0,.5)就是透明度為0.5的黑色。現代瀏覽器是支援rgba的,但是在IE8等古董級瀏覽器中是不支援rgba的,IE8隻能勉強支援rgb()函數(即去掉了透明度,只能表示顏色)。

網上的解決方案是:

background: rgba(0,0,0,.5); /*支援rgba的瀏覽器*/

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

第二句話的意思就是當上一行的透明度不起作用的時候執行。這句話的意思本來是用來做漸層的,但是這個地方不需要漸層。所以兩個顏色都設定成了相同的顏色。

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

第二部分是19後面的六位。這個是六進位的顏色值。要跟rgb函數中的取值相同。比如rgb(0,0,0,)對應#000;都是黑色。

到這裡,rgba的用法就可以相容IE8了。

但是經過實踐發現這種方法只能用在背景色上,前景色彩或其他則無能為力了

IE8下相容rgba顏色的半透明背景

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.