簡體   English   中英

CSS3轉換:在IE中擴展

[英]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及更早版本,這意味着您可以在同一樣式表中指定transformzoom ,像這樣:

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效果相結合....

但IE 9支持規模https://developer.mozilla.org/en/CSS/transform

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM