gpt4 book ai didi

SVG 元素 IE9+ 上的 CSS 转换

转载 作者:技术小花猫 更新时间:2023-10-29 10:12:59 24 4
gpt4 key购买 nike

有一个 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 属性。

此过程在 webkit 和 firefox 上运行良好,但是在 IE9 或 10 上测试时 nothing happens .

<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 transform 确实在 IE 上不起作用的地方,但是我找不到它。因此我的问题是,是否确实不可能在 IE 上使用 css 转换?除了必须在元素标记中严格使用 transform 属性之外,是否有任何解决方法?

最佳答案

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>

关于SVG 元素 IE9+ 上的 CSS 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21298338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com