CSS3转换:旋转; 在IE9中
我有一个元素需要在我所做的devise中是垂直的。 我已经得到了这个CSS的工作在除IE9以外的所有浏览器。 我用IE7和IE8的filter:
progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
这似乎使我的元素透明的IE9和CSS3“变形”性能似乎并没有做任何事情!
有没有人知道IE9中的旋转元素?
真的很感谢帮助!
W.
标准的CSS3旋转应该在IE9中工作,但我相信你需要给它一个供应商的前缀,如下所示:
-ms-transform: rotate(10deg);
它可能在testing版本中不起作用; 如果没有,请尝试下载当前的预览版本(预览版本7),这是testing版本的更新版本。 我没有用于testing的testing版本,所以我无法确认它是否在该版本中。 最终发布版本肯定会支持它。
我也可以确认在IE9中IE特定的filter
属性已被删除。
[编辑]
人们已经要求进一步的文件。 正如他们所说,这是相当有限的,但我确实find了这个页面: http : //css3please.com/这对于testing所有浏览器中的各种CSS3function是非常有用的。
但是在IE9预览中testing这个页面上的旋转function导致它崩溃得相当壮观。
不过,我已经做了一些独立的testing使用-ms-transform:rotate()
在IE9中我自己的testing页,它工作正常。 所以我的结论是这个特性被实现了,但是有一些bug,可能与dynamic设置有关。
另一个有用的参考点,在哪些浏览器是www.canIuse.com实现function – 请参阅http://caniuse.com/#search=rotation
[编辑]
重振这个旧的答案,因为我最近发现了一个叫做CSS Sandpaper的黑客,它和这个问题有关,可能会让事情变得更简单。
hack实现了对旧版IE的标准CSS transform
支持。 所以,现在你可以添加以下到您的CSS:
-sand-transform: rotate(10deg);
…并在IE 6/7/8中工作,而不必使用filter
语法。 (当然,它仍然使用幕后的filter语法,但是这使得它更容易pipe理,因为它使用与其他浏览器类似的语法)
尝试这个
<!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=utf-8" /> <title>Untitled Document</title> <style type="text/css"> body { margin-left: 50px; margin-top: 50px; margin-right: 50px; margin-bottom: 50px; } .rotate { font-family: Arial, Helvetica, sans-serif; font-size: 16px; -webkit-transform: rotate(-10deg); -moz-transform: rotate(-10deg); -o-transform: rotate(-10deg); -ms-transform: rotate(-10deg); -sand-transform: rotate(10deg); display: block; position: fixed; } </style> </head> <body> <div class="rotate">Alpesh</div> </body> </html>
我也有在IE9转换的问题,我使用了-ms-transform: rotate(10deg)
,它不工作。 尽我所能,但问题是在浏览器模式,要使转换工作,您需要设置兼容模式为“标准IE9”。
我知道这是旧的,但我有同样的问题,发现这篇文章,虽然没有解释到底是什么错,它帮助我正确的答案 – 所以希望我的回答可能有助于其他人可能有一个类似的问题,我的。
我有一个我想要旋转垂直的元素,所以我自然添加了filter:对于IE8,然后对IE9的-ms-transform属性。 我发现,具有-ms-transform属性,并将filter应用于相同的元素会导致IE9非常糟糕地呈现该元素。 我的解决scheme
-
如果你正在使用transform-origin属性,为MS添加一个(-ms-transform-origin:left bottom;)。 如果你没有看到你的元素,它可能是它的中间轴旋转,从而离开了网页 – 所以仔细检查。
-
将IE7&8的filter:属性移动到单独的样式表中,并使用IE条件为小于IE9的浏览器插入样式表。 这样,它不会影响IE9样式,所有应该工作正常。
-
确保使用正确的DOCTYPE标签; 如果你有错误的IE9将无法正常工作。