具有SVG路径:
<path class='st8' d='M73.4,11.3c-6.3,0-6.4,3.6-6.4,3.6v18c0,0,0.6,3.3,6.4,3.3c5.8,0,6.6-3.3,6.6-3.3v-18 C80,14.9,79.7,11.3,73.4,11.3z M75,31.3c0,0-0.3,1.2-1.6,1.2c-1.3,0-1.4-1.2-1.4-1.2V16.6c0,0,0.3-1.3,1.5-1.3s1.5,1.3,1.5,1.3V31.3 z'/>
我尝试从CSS中转换它,而不是从元素标记中声明transform
属性。
然而,当在IE9或10 nothing happens上测试时,这个过程在webkit和火狐上运行得很好。
<svg>
<style>
.st8 {
-webkit-transform: rotate(45deg); /* works on chrome and Safari */
-moz-transform: rotate(45deg); /* works on firefox */
-ms-transform: rotate(45deg); /* doesn't work on IE */
transform: rotate(45deg);
}
<style>
<path class='st8' d='M73.4,11.3c-6.3,0-6.4,3.6-6.4,3.6v18c0,0,0.6,3.3,6.4,3.3c5.8,0,6.6-3.3,6.6-3.3v-18 C80,14.9,79.7,11.3,73.4,11.3z M75,31.3c0,0-0.3,1.2-1.6,1.2c-1.3,0-1.4-1.2-1.4-1.2V16.6c0,0,0.3-1.3,1.5-1.3s1.5,1.3,1.5,1.3V31.3 z'/>
</svg>
我试着在网上搜索任何提到css转换在IE上确实不起作用的地方,但是我找不到它。因此我的问题是,在IE上真的不能使用css转换吗?除了必须在元素标记中严格使用transform
属性之外,还有什么解决方法吗?
发布于 2015-02-28 08:18:56
IE11支持SVG中的transform属性,即使它不能识别CSS样式。
幸运的是,您可以使用JavaScript简单地设置属性以匹配样式:
var g = document.querySelector('.st8'),
transform = getComputedStyle(g).getPropertyValue('transform');
g.setAttribute('transform', transform);
.st8 {
-ms-transform: rotate(45deg); /* doesn't work on IE */
transform: rotate(45deg);
}
<svg>
<path class='st8' d='M73.4,11.3c-6.3,0-6.4,3.6-6.4,3.6v18c0,0,0.6,3.3,6.4,3.3c5.8,0,6.6-3.3,6.6-3.3v-18 C80,14.9,79.7,11.3,73.4,11.3z M75,31.3c0,0-0.3,1.2-1.6,1.2c-1.3,0-1.4-1.2-1.4-1.2V16.6c0,0,0.3-1.3,1.5-1.3s1.5,1.3,1.5,1.3V31.3 z'/>
</svg>
发布于 2014-03-28 15:55:14
虽然IE9+支持CSS3转换,但他们不支持SVG,据我所知,它不能在CSS中实现。
来源:在CSS3 Transforms http://caniuse.com/#feat=transforms2d的已知问题下使用
https://stackoverflow.com/questions/21298338
复制相似问题