css中實作背景透明通常有如下3種方式,以下是這三種方式的不透明度為80%的寫法:
css3的opacity:x ,x 的取值從0 到1,如opacity: 0.8
css3的rgba(red, green, blue, alpha),alpha的取值從0 到1,如rgba(255,255,255,0.8)
IE專屬濾鏡filter:Alpha(opacity=x),x 的值從0 到100,如filter:Alpha(opacity=80)
(影片教學建議: css影片教學)
一、css3的opacity
#相容性:IE6、7、8不支持,IE9以上版本和標準瀏覽器都支持
使用說明:設定opacity元素的所有後代元素會隨著一起具有透明性,一般用於調整圖片或模組的整體不透明度
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>背景透明度</title> <style> .demo{ padding: 25px; background-color:#000000; filter:alpha(opacity:50); opacity:0.5; -moz-opacity:0.5;-khtml-opacity: 0.5; } .demo p{ color: #FFFFFF; } </style> </head> <body> <div class="demo"> <p>背景透明,文字也透明</p> </div> </body> </html>
使用opacity後整個模組都透明了,效果如下:
那麼使用opacity實現《背景透明,文字不透明》是不可取的。
二、css3的rgba
所謂RGBA顏色,顧名思意就是R G B A的顏色,再具體點就是red green blue alpha的顏色,翻譯一下就是紅綠藍Alpha透明的顏色。
background:rgba(200, 54, 54, 0.5);
其中,表示半透明度的0.5前面的0是可以省掉的,直接.5也是可以的。
相容性:IE6、7、8不支持,IE9以上版本和標準瀏覽器都支援
解決IE8瀏覽器不支援rgba的方法:
background:rgba(0,0,0,0.5); filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F000000,endcolorstr=#7F000000);
使用說明:設定顏色的不透明度,一般用於調整background-color、color、box-shadow等的不透明度。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>css3的rgba</title> <style> .demo{ padding: 25px; background-color:#000000;/* IE6和部分IE7内核的浏览器(如QQ浏览器)下颜色被覆盖 */ background-color:rgba(0,0,0,0.2); /* IE6和部分IE7内核的浏览器(如QQ浏览器)会读懂,但解析为透明 */ } .demo p{ color: #FFFFFF; } </style> </head> <body> <div class="demo"> <p>背景透明,文字也透明</p> </div> </body> </html>
在background-color中使用rgba,標準瀏覽器中,背景透明,文字不透明,效果如下:
那麼使用rgba實現背景透明,文字不透明是可取的。
推薦教學:css快速入門
#以上是css中實現背景透明的三種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!