css 相容ie8 rgba()用法

來源:互聯網
上載者:User

標籤:支援   line   表示   get   難題   log   nsf   microsoft   ext   

今天遇到了一個問題,要在一個頁面中設定一個半透明的白色div。這個貌似不是難題,只需要給這個div設定如下的屬性即可:

background: rgba(255,255,255,.1);

但是要相容到ie8。這個就有點蛋疼了。因為ie8不支援rgba()函數。下面我們總結一下rgba()函數的含義。

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

所以在ie8中設定半透明就要費點腦子了。從大神那裡得知可以使用ie的filter來解決這個問題,css代碼如下:

background: rgba(255,255,255,.1);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#19ffffff,endColorstr=#19ffffff);

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

大家注意,這個顏色“#19ffffff”是由兩部分組成的。

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

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

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

css 相容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.