在指定背景圖像適應(yīng)DIV的寬高時(shí),我們可以使用
background-size:100% 100%
或者
background-size:cover
來讓背景鋪滿這個(gè)DIV砚哆。
但是在IE8以下(包括IE 8)這個(gè)CSS屬性并不受支持卵皂。那如何解決呢地技?
IE的AlphaImageLoader濾鏡可以解決這個(gè)問題,詳細(xì)可參看
https://msdn.microsoft.com/zh-cn/library/ms532969(v=vs.85).aspx
此處針對(duì)其用法做簡(jiǎn)單說明
HTML用法:
<ELEMENT STYLE="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sProperties)" ... >
JS用法:
object .[style](https://msdn.microsoft.com/zh-cn/library/ms528442(v=vs.85).aspx).filter ="progid:DXImageTransform.Microsoft.AlphaImageLoader(sProperties)"
其中sProperties可以包含enabled脸候、sizingMethod和src三個(gè)屬性倍试。
- enabled:布爾型讯屈,true或false,指明濾鏡是否啟用
- sizingMethod:指明圖像適應(yīng)容器方法县习,可以使crop(裁剪圖像適應(yīng)容器)耻煤、image(容器適應(yīng)圖像本身大小)和scale(縮放圖像適應(yīng)容器)
- src:要加載的圖像路徑准颓,必須是相對(duì)于該頁(yè)面的,所以如果在CSS中指定必須使用絕對(duì)路徑棺妓,不能使用相對(duì)于CSS文件的相對(duì)路徑攘已,可能會(huì)出錯(cuò)。
例子:
<SCRIPT>
var bToggle = 1
<!-- Toggle the sizingMethod property to resize the image. -->
function fnToggle(oObj) {
if (bToggle) {
bToggle = 0;
oDiv.filters(0).sizingMethod="image";
oObj.innerText='Enlarge It';}
else {
bToggle = 1;
oDiv.filters(0).sizingMethod="scale";
oObj.innerText='Make Normal';}
}
</SCRIPT>
<!-- This DIV is the target container for the image. -->
<DIV ID="oDiv" STYLE="position:relative; height:250px; width:250px;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='/workshop/graphics/earglobe.gif', sizingMethod='scale');" >
</DIV>
<BR><BUTTON onclick="fnToggle(this);">Make Normal</BUTTON>