兼容ie8的rgba() 寫法

在頁面中設置一個半透明的div一般情況下使用rgba()函數,但在IE8情況下無法使用rgba()函數。

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

使用ie的filter來解決這個問題

background-color: rgba(0,0,0,0.5);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000);

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

#後的顏色是由兩部分組成的,前兩位是rgba透明的IEfilter值。後六位是六進制的顏色值。

rgba透明度 IEfilter值

0.1

19

0.2

33

0.3

4C

0.4

66

0.5

7F

0.6

99

0.7

B2

0.8

C8

0.9

E5


將透明度*255,沒有近衛直接捨去取整後轉化爲16進制即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章