首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CSS3变换:在IE中缩放

CSS3变换:在IE中缩放
EN

Stack Overflow用户
提问于 2011-10-18 18:33:07
回答 4查看 72.9K关注 0票数 20

我想使用CSS3属性transform:scale。

代码语言:javascript
复制
div
{
     transform: scale(0.5,0.5);
}

有没有办法在Internet Explorer8及更低版本中模仿这一点?可能是filter或Javascript解决方案?

我已经在网上搜索过了,但没有任何结果。

非常感谢,文森

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-18 18:44:01

IE9支持transform:

代码语言:javascript
复制
-ms-transform: scale(0.5,0.5);

对于IE的其他版本,有一个复杂的语法。如下所示:

代码语言:javascript
复制
filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',
    M11=1.5320888862379554, M12=-1.2855752193730787,
    M21=1.2855752193730796, M22=1.5320888862379558);

有关更多信息,请查看here

票数 37
EN

Stack Overflow用户

发布于 2011-10-18 19:02:40

不支持,IE8和更早版本不支持标准transform样式。不过,IE9确实支持它。

有一些解决方案你可以尝试使用filter风格,但它们会很混乱。

但是对于您在问题中描述的简单情况(基本上是一个简单的缩小),您可以使用IE专有的zoom属性。

因为它是非标准的,所以zoom最常见的用法是zoom:1,它用于修复IE的许多布局故障(特别是在IE6和IE7中)。但是它也可以进行实际的缩放,你可以使用zoom:0.5来达到你想要的效果。

使用zoom的好处是,它在IE中的工作方式就像其他任何普通的CSS属性一样( filter替代方案有一些严重的渲染怪癖,你需要知道)。

使用zoom的唯一缺点是,你需要在IE9或更高版本中禁用它,否则它将与你的transform风格发生冲突,并产生一些不必要的效果。我一般不支持使用CSS hack,但您可以使用/9 hack (documented here)使其只影响IE8和更早的版本,这意味着您可以在同一样式表中同时指定transformzoom,如下所示:

代码语言:javascript
复制
div {
  transform: scale(0.5,0.5);
  zoom: 0.5\9;
}

否则,您将需要使用条件注释来确定是否使用它。

显然,如果您想做任何比简单的比例比例更复杂的事情,那么zoom将不适合,但对于像您问题中的简单情况,它将是完美的。

票数 13
EN

Stack Overflow用户

发布于 2011-10-18 18:41:25

http://msdn.microsoft.com/en-us/library/ms533014(v=vs.85).aspx

然而,IE中的滤镜并不容易使用,而且它们并不总是与其他css效果相结合……

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7805870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档