應用PNG圖片的透明或半透明的特性能做出非常漂亮的網頁來。Firefox和Opera對PNG的支持非常的好,都是IE卻無視PNG圖片這一特性的“存在”,雖然IE7已經支持都是IE6還是不行。查了一些資料,基本解決了這一問題,準備應用到PJskin上。
雖然有讓IE6支持PNG透明背景的JS程序,都是不是很方便,還是用CSS來實現的好。使用到的就是:
IE5.5+的AlphaImageLoader濾鏡
引用內容
語法:
filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )
屬性:
enabled : 可選項。布爾值(Boolean)。設置或檢索濾鏡是否激活。true | false
true : 默認值。濾鏡激活。
false : 濾鏡被禁止。
sizingMethod : 可選項。字符串(String)。設置或檢索濾鏡作用的對象的圖片在對象容器邊界內的顯示方式。 crop : 剪切圖片以適應對象尺寸。
image : 默認值。增大或減小對象的尺寸邊界以適應圖片的尺寸。
scale : 縮放圖片以適應對象的尺寸邊界。
src : 必選項。字符串(String)。使用絕對或相對 url 地址指定背景圖像。假如忽略此參數,濾鏡將不會作用。
說明:
在對象容器邊界內,在對象的背景和內容之間顯示一張圖片。并提供對此圖片的剪切和改變尺寸的操作。如果載入的是PNG(Portable Network Graphics)格式,則0%-100%的透明度也被提供。
PNG(Portable Network Graphics)格式的圖片的透明度不妨礙你選擇文本。也就是說,你可以選擇顯示在PNG(Portable Network Graphics)格式的圖片完全透明區域后面的內容。
圓角頭像的制作原理就是在頭像上覆蓋一張透明的圖片,把四個角顏色設置成頁面的背景顏色,中間透明.這里需要注意的是需要把圖片保存成24位的png,雖然IE6支持8位的png的透明,但是8位的png做透明圓弧圖片存在效果上的問題,就是存在白色的雜邊或鋸齒,24位的png或32位的png的圓弧透明(半透明)圖片則非常光滑,但是該死的IE6不支持24位的png或32位的png透明(其他瀏覽器都支持).
需要注意的是:
- 使用 AlphaImageLoader 篩選器的元素必須有寬高,width:XXpx; height:XXpx;
- ie6下必須充值背景為none,_background:none
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<style>
<!--
body{background:#000;}
.divbg{width:154px; height:197px; margin:50px auto; position:relative;}
.divbg img{position:relative; top:0; left:0; display:block;}
.divbgpic{background:url(bg.png) no-repeat 0 0; _background:none; position:absolute; top:0; left:0; width:154px; height:197px; _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png',sizingMethod='crop'); cursor:pointer}
-->
</style>
</head>
<body>
<div class="divbg"><img src="cartoon_pic.jpg" alt="" /><span class="divbgpic"></span></div>
</body>
</html>