CSS實現透明效果顏色的方法:RGBa
阿新 • • 發佈:2019-01-09
RGBa是一種在CSS中宣告包含透明效果的顏色的方法,它的語法是這樣的:
1 2 3 |
|
它允許我們為元素新增透明色。或許我們習慣了使用”opacity“,它很簡單易用,但是,opacity會使所有的子元素都變成透明的,而且很難去解決這個問題。(除非使用怪異的定位hack) 跨瀏覽器透明同樣頗為棘手。
通過RGBa,我們可以將一個元素設定為透明,而不會影響其子元素:
宣告一個保留顏色
並非所有的瀏覽器支援RGBa,所以如果允許的話,可以宣告一個保留色彩。這個色彩應該是可靠的——所有的瀏覽器都支援。不宣告就意味著,在不支援RGBa的瀏覽器裡面,沒有使用顏色。
1 2 3 4 |
|
不過,這條退路在某些古董級瀏覽器中依然無效。
RGBa的瀏覽器支援情況
瀏覽器,版本,作業系統 | 測試結果 | 退路 |
---|---|---|
Firefox 3.0.5 (OS X, Windows XP, Vista) | 支援 | — |
Firefox 2.0.0.18 (PC) | 不支援 | 純色 |
Safari 4 (Developer Preview, Mac) | 支援 | — |
Safari 3.2.1 (PC) | 支援 | — |
Mobile Safari (iPhone) | 支援 | — |
Opera 9.6.1 | 不支援 | 純色 |
IE 5.5 (PC via IETester) | 不支援 | 無色 |
IE 6 (PC via IETester) | 不支援 | 純色 |
IE 7 | 不支援 | 純色 |
IE 8 beta 2 | 不支援 | 純色 |
Google Chrome 1.0.154.43 | 支援 | — |
Google Chrome 1.0.154.46 | 支援 | — |
Netscape 4.8 (PC) | 不支援 | 沒有顏色 |
SeaMonkey 1.1.14 | 不支援 | 無色 |
SeaMonkey 1.1.16 | 不支援 | 純色 |
SeaMonkey 2.0 beta3 | 支援 | — |
Sunrise 1.7.5 | 支援 | — |
Stainless 0.2.5 | 支援 | – |
Flock 2.0.2 | 支援 | – |
BlackBerry Storm Browser | 支援 | 純色 |
Camino 1.6.6 | 不支援 | 純色 |
上面的資料是通過測試demo得到的,該測試頁面包含了更多更完整的瀏覽器相容性列表。
對IE瀏覽器的更好的退路
因為IE瀏覽器支援條件註釋,我們可以拋棄RGB並使用IE的一個私有CSS濾鏡來實現同樣的效果:
1 2 3 4 5 6 7 8 9 |
|