2017-02-27 分類: 網(wǎng)站建設(shè)
PNG的背景透明在網(wǎng)頁中應(yīng)用比較廣泛,但瀏覽器的兼容問題一直很讓人頭疼,用的CSS濾鏡再變通一下也能實(shí)現(xiàn)PNG背景半透明的兼容問題,只不過不支持背景的定位而已,也就是說不支持CSS SCRIPT。
一、CSS 濾鏡(兩種方法)
一般能用CSS處理的就盡量不要用JS了,個(gè)中的原因,你懂的……
本人整理了一下使用濾鏡的方法處理IE6下的PNG半透明,但該方法也有局限性,不能使用背景定位,也就是不能使用CSS Script
方法1
CSS核心代碼:
background-image:url(weather.png)!important; background-image:url(www.cdhuace.com);
filter progid:DXImageTransform.Microsoft.AlphaImageLoader(src="weather.png");
其他瀏覽器不需要處理,只需要單獨(dú)針對IE6作處理也可以。
方法2CSS核心代碼:
_background:none; _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="weather.png",sizingMethod="crop");
說明:
方法1
當(dāng)CSS中出現(xiàn)兩個(gè)同樣的屬性,無論是否有!important,IE6只識別最后一個(gè)屬性。(IE6是識別!important的,后面的background-image起干擾作用。在Firefox下,!important被優(yōu)先執(zhí)行,filter濾鏡不起作用。這個(gè)其實(shí)只需要處理PNG在IE6中不支持半透明的問題,其他瀏覽器都是支持PNG的半透明的,所以不需要處理。該方法使用也有局限性,就是不支持圖片的定位,也就是不支持CSS Script。
方法2
同樣的也是利用濾鏡進(jìn)行處理,但方法上與方法一有所區(qū)別,單獨(dú)針對IE6進(jìn)行處理,利用“_”來針對IE6處理,其他瀏覽器對PNG的半透明是支持的,所以不再需要處理了。需要注意的是,sizingMethod="crop"須寫上,不然會(huì)出現(xiàn)一些莫名的邊角的問題,這個(gè)也是與方法一的方法有所區(qū)別的一點(diǎn)(有時(shí)候不寫也會(huì)正常,但保險(xiǎn)起見,建議寫)。
二、DD_belatedPNG
DD_belatedPNG好地解決了“iepngfix.htc”會(huì)出現(xiàn)的無法平鋪,沒法定位以及所加超鏈接的點(diǎn)擊區(qū)域無法使用等問題!
08年末這東西剛出來的時(shí)候國內(nèi)就有人發(fā)過這個(gè)方法,但不知道為什么,沒引起什么“效應(yīng)”,很多人還是在用上面說的“更具局限性”的方法。
使用方法很簡單,首先下載調(diào)用JS,然后在使用PNG的頁面中引用代碼,由于是針對IE6處理的,所以在外圍加上IE6的條件注釋,以便區(qū)別于其他瀏覽器。
1.
引用函數(shù)是 DD_belatedPNG.fix() , 括號里分別填寫應(yīng)用PNG圖片透明的CSS選擇器(可使用ID選擇器和類選擇器)和應(yīng)用類型(分為img和background兩種)支持多個(gè)選擇器的使用,支持hove的事件,和CSS的寫法是一樣的,最后兩個(gè)是寫應(yīng)用的類型就可以了,最后完整的應(yīng)用代碼如下(注意必須是在全英文的狀態(tài)下輸入,很多人老是問我是什么原因不起作用,其實(shí)是因?yàn)檩斎肓酥形牡臉?biāo)點(diǎn)):
網(wǎng)頁標(biāo)題:CSS實(shí)例教程:PNG背景透明在網(wǎng)頁設(shè)計(jì)中的運(yùn)用
網(wǎng)頁網(wǎng)址:http://redsoil1982.com.cn/news/74400.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、定制網(wǎng)站、電子商務(wù)、網(wǎng)站營銷、App開發(fā)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容