最近在項(xiàng)目中遇到了瀏覽器兼容問題菲嘴,透明背景圖在IE或360兼容模式下沒有效果饿自,以前都是網(wǎng)上搜到結(jié)果,直接用了龄坪,并沒有深入的去理解和利用昭雌,總會(huì)在下一次使用的時(shí)候忘記。為了讓自己在前端方面學(xué)習(xí)更有成效健田,想想還是記錄下來比較好烛卧,做個(gè)總結(jié),還有不完善的地方還請多指教妓局!
知識(shí)要點(diǎn):
CSS3的rgba()瀏覽器兼容
1.rgba()顏色值目前得到以下瀏覽器的支持:IE9+总放、Firefox3+、Chrome好爬、Safari以及Opera10+
2.rgba顏色值是rgb顏色值的一個(gè)擴(kuò)展局雄,增加一個(gè)alpha,它規(guī)定了對象的透明度
3.rgba()顏色值的規(guī)定是:rgba(red,green,blue,alpha)存炮,alpha參數(shù)介于0.0(完全透明)和1(完全不透明)的數(shù)值
例:
p{2background-color:rgba(0,0,0,0.5)3}
顯示效果:
rgba()中的前三個(gè)數(shù)值越接近0炬搭,顏色顯示越接近黑色,反之越接近255穆桂,顏色顯示越接近白色宫盔。但是該設(shè)置在IE+以下或360兼容模式下,背景透明效果都是無效的充尉。360兼容模式保留了你電腦里本身的IE內(nèi)核飘言,如果你的電腦瀏覽器是IE7,兼容模式下就相當(dāng)于是IE7驼侠,同理可得姿鸿。所以,為了兼容360兼容模式倒源,就得兼顧IE瀏覽器苛预,在IE瀏覽器下,透明背景色的設(shè)置如下:
p{filter:Alpha(opacity=50);/*只支持IE6笋熬、7热某、8、9*/position:static;*zoom:1; }
IE6、7昔馋、8只能設(shè)置position:static(默認(rèn)屬性) 筹吐,否則會(huì)導(dǎo)致子元素繼承Alpha值,激活I(lǐng)E6、7的haslayout屬性秘遏,讓它讀懂Alpha,設(shè)置子元素為相對定位丘薛,可讓子元素不繼承Alpha值,保證字體顏色不透明邦危。