[英]CSS3 transform:scale in IE
我想使用CSS3屬性transform:scale。
div
{
transform: scale(0.5,0.5);
}
有沒有辦法在Internet Explorer 8和更低版本中模仿這個? 可能是filter
或Javascript解決方案的東西?
我沒有任何結果在網上搜索過。
非常感謝,文森特
IE9支持轉換:
-ms-transform: scale(0.5,0.5);
對於IE的其他版本,有一個復雜的語法。 像這樣的東西:
filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',
M11=1.5320888862379554, M12=-1.2855752193730787,
M21=1.2855752193730796, M22=1.5320888862379558);
在這里查看更多信息。
不,IE8及更早版本不支持標准transform
風格。 IE9確實支持它。
您可以嘗試使用filter
樣式的解決方案,但它們會很混亂。
但是對於您在問題中描述的簡單情況(基本上是簡單的縮小),您可以使用IE專有的zoom
屬性。
由於它是非標准的, zoom
的最常見用途是使用zoom:1
,用於修復IE的布局故障(特別是在IE6和IE7中)。 但它也會進行實際縮放,您可以使用zoom:0.5
來實現您正在尋找的效果。
使用zoom
的好處是它在IE中可以像任何其他普通的CSS屬性一樣工作( filter
替代方案有一些你需要知道的嚴重渲染怪癖)。
使用zoom
的唯一zoom
是你需要在IE9或更高版本中禁用它,否則它會與你的transform
風格相互影響並產生一些不必要的效果。 我不是一般支持使用CSS hacks的人,但你可以使用/9
hack( 此處記錄 )使其僅影響IE8及更早版本,這意味着您可以在同一樣式表中指定transform
和zoom
,像這樣:
div {
transform: scale(0.5,0.5);
zoom: 0.5\9;
}
否則,您需要使用條件注釋來確定是否使用它。
顯然,如果你想做一些比簡單的比例尺更復雜的事情,那么zoom
將不合適,但對於像你問題中那樣簡單的情況,這將是完美的。
http://msdn.microsoft.com/en-us/library/ms533014(v=vs.85).aspx
雖然IE中的過濾器不易使用,但並不總是與其他css效果相結合....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.