ie6並非不支持png,它支持索引顏色的PNG-8,而是不支持RGB顏色的PNG-24。css
ie6裏的PNG-24圖片作背景主要有如下幾個問題:html
1、ie6裏png背景透明問題:解決辦法用濾鏡。這個通常高手們都知道。網站
注意:src 這個路徑是指加載濾鏡的頁面相對於圖片的路徑,而不是css文件相對於圖片的路徑。這跟通常的圖片加載有區別。url
*html 對應的id或class類名{background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="images/圖片名稱.png", sizingMethod="crop");}spa
2、ie6裏png背景作循環問題:用一個2px*2px的半透明圖片作背景循環。解決辦法加「sizingMethod=scale」。orm
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src=」圖片名稱」);
_ background-image: none;htm
3、ie6裏不作循環的大png圖片背景會出現區塊被剪切,網站版面一片混亂,文字消失問題:解決辦法加sizingMethod=crop。索引
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop,src=」圖片名稱」)
_ background-image: none;圖片
4、ie6裏png背景下的的鏈接失效的解決辦法:給對應元素添加樣式position:relative;ci
連接所在的層以及父級,全都不能有position,不然的話連接無效,即便relative也不行!
5、ie7裏png背景下的div下的dl dt dd ul li 等有float浮動時,鏈接文字在鼠標滑過出現一條背景消失的問題。解決辦法是給包含dl dt dd ul li的div大盒子加上一個高度或最小高度。
min-height:50px; 由於ie6下沒有這個問題,min-height:又是ie6不支持的,ie7和FF支持,而div要隨着文字而伸長,因此我就採用了min-height:。
6、最後關於png背景定位的問題。 我實在沒想出來用解決的辦法,我加了「sizingMethod=scale」。讓它在ie6裏放大去吧,雖然效果上沒有FF好,可是總比貼着最左邊看起來舒服。
#footer_content{width:760px;height:85px;margin:0 auto;padding:80px 0 40px 150px;position:relative;}
#ci_logo{background:url(images/footer_logo.png) no-repeat;width:160px;height:85px;margin:0 auto;_background:none;
_filter:progid:dximagetransform.microsoft.alphaimageloader(src='/style/images/footer_logo.png', sizingMethod='crop');position:absolute;top:80px;left:12px;}
<div id="footer_content">
<div id="ci_logo"></div>
</div>
須要注意的是圖片路徑
.div{background:url(../images/w_bg.png) repeat center top;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/w_bg.png',sizingMethod='crop');}
.div{background:url(../images/w_bg.png) repeat center top;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/w_bg.png',sizingMethod='scale');}