html - CSS 翻译在 SVG g 上的 IE11 中不起作用

标签 html css internet-explorer svg

我想使用 <g> 移动一组 svg 元素标记,但它不能在 IE 中工作,即使是最新版本,尽管它可以在所有其他浏览器中工作。

我是否需要使用其他方式来移动 svg 中的一组元素?

svg {
  width: 20px;
  height: 20px;
}

g {
  transform: translate(10px, 0);
  -ms-transform: translate(10px, 0);
}
<svg viewbox="0 0 20 20">
    <g>
        <circle cx=10 cy=10 r=10 />
    </g>
</svg>

最佳答案

IE11 支持 SVG 中的 transform 属性,即使它不识别 CSS 样式。

幸运的是,您可以使用 JavaScript 简单地设置属性以匹配样式:

var g = document.querySelector('g'),
    transform = getComputedStyle(g).getPropertyValue('transform');
    
g.setAttribute('transform', transform);
svg {
  width: 20px;
  height: 20px;
}

g {
  transform: translate(10px, 0);
  -ms-transform: translate(10px, 0);
}
<svg viewbox="0 0 20 20">
  <g>
<circle cx=10 cy=10 r=10 />
  </g>
</svg>

关于html - CSS 翻译在 SVG g 上的 IE11 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23047098/

相关文章:

javascript - CSS 动画 + Javascript 回调

javascript - Internet Explorer TextRange 中的字符偏移量

jquery - 即问题。嵌套相对 DIV 不随滚动移动

html - 超大屏幕中的边框

html - 如何正确使用媒体查询?

javascript - 垂直对齐底部 + 行内 block

javascript - 在 D3.JS 中创建元素 block 的最佳方法是什么

javascript - 资源管理器中 getElementById 的 JS 问题

html - 仅在 IE 10 中应用的用于列表项的 CSS 填充

html - 如何判断我的 Node 应用程序在 Heroku 上崩溃的原因? (HTML、Stripe、Heroku、NodeJS)