IE6 PNG圖片底色問

經常我們做png的圖片,透明部分在IE6上不兼容。但是又不能不解決,因爲IE6用戶還是有種一大羣人在用。

這裏只介紹兩種比較簡單的方法
一、使用濾鏡
.logo{
background:"path/logo.png";
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="path/logo.png");
_background:none;
}
這樣在IE6或者其他瀏覽器上都可以有透明效果了。
不過注意的是,如果css是放在htmlhead裏面的,紅色部分的url和藍色部分的url是相同的,但是如果放在外部的css文件中,情況就不一樣了,藍色部分的地址應該相對於引用的地址。
二、使用在IE6下可以透明的png圖片
.logo{
background:"path/logo.png";
_background:"path/logo_ie6.png"
}

   我們經常使用的png圖片爲png-24的。色彩視覺較好。但是在IE6下會有灰底。而png-8的png圖片較小且在IE6下不會出現灰底。如果是一些網站中常用的小圖標完全可以彩png-8的png圖片。視覺效果基本察覺不出來而且不會有需要解決IE6下灰底的麻煩。如果較大的可以採用上面CSS實現IE6和別的瀏覽器訪問不同頁面


//下面部分均爲轉載
特此總結了一些解決方案,不一定是最好。。。

一、用濾鏡解決IE6下png不完全透明

注意:ie6png背景圖片不顯示,別緊張,把絕對路徑地址加上即可。
filter: progid:XImageTransform.Microsoft.AlphaImageLoader(src=”http://www.361qd.com/images/絕對路徑”);
_ background-image: none;

二、ie6裏png背景做循環問題:用一個半透明圖片做背景循環平鋪。解決辦法加“sizingMethod=scale”。
filter: progid:XImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=”圖片名稱”);
_ background-image: none;
注意:有些圖片存在弊端,如果只是單獨顏色循環,這種可以。如果是圖案平鋪,即不行。具體也還得根據圖片而定。。。一句話,儘可能用gif吧。

三、ie6裏不做循環的大png圖片背景會出現區塊被剪切,網站版面一片混亂,文字消失問題:解決辦法加sizingMethod=crop。
filter: progid:XImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src=”圖片名稱”)
_ background-image: none;

四、ie6裏png背景下的的連接失效:解決辦法給a元素添加樣式  position:relative;

鏈接所在的層以及父級,全都不能有position,否則的話鏈接無效,即使relative也不行!



五、ie7裏png背景下的div下的dl dt dd ul li等有float浮動時,連接文字在鼠標滑過出現一條背景消失的問題。解決辦法是給包含dl dt dd ulli的div大盒子加上一個高度或最小高度。
min-height:50px;因爲ie6下沒有這個問題,min-height:又是ie6不支持的,ie7和FF支持,而div要隨着文字而伸長,所以我就採用了min-height:。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章