【问题标题】:Transforming an element inside an SVG in Microsoft Edge Doesn't Work在 Microsoft Edge 中转换 SVG 内的元素不起作用
【发布时间】:2017-01-08 03:52:53
【问题描述】:

由于某种原因,Microsoft Edge 不允许您对 SVG 内的元素进行转换。填充工作正常(所以我知道元素定位正在工作)但转换被完全忽略。这在 chrome 中可以正常工作,据我所知,应该在 Edge 中也可以正常工作。

HTML:

<div class="test-container">
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 300 400" xmlSpace="preserve">
    <g id="Type">
      <g>
        <rect x="100" class="st1" id="rect1" width="100" height="100"/>
        <rect x="100" y="100" class="st1" id="rect2" width="100" height="100"/>
      </g>
    </g>
  </svg>
</div>

CSS:

.test-container {
  width: 100px;
}
#rect1 {
  fill: blue;
  transform: translate(50px);
}
#rect2 {
  fill: red;
}

在此处查看 codepen 示例:http://codepen.io/dwolfand/pen/pEzQgy

有什么想法吗?

【问题讨论】:

  • 内部 SVG 元素尚不支持 MSFT 浏览器上基于 CSS 的转换。请改用 SVG 变换。

标签: css svg transform microsoft-edge


【解决方案1】:

自 2016 年 8 月 31 日起,Microsoft Edge 不支持对 SVG 元素进行 CSS 转换。然而,Edge 团队正在考虑将其用于未来的版本。鉴于其他浏览器的支持,status.microsoftedge.com 将这项工作列为可能

【讨论】:

  • 感谢您的快速回复 - 你们是刚刚发现这个错误,因为它是昨天刚刚添加的,还是这是一个已知问题?
  • @DavidWolfand 这个功能请求已经有一段时间了?
  • 我确实希望他们支持它,它会破坏许多用户的网络体验,如果行为与大多数其他浏览器中常见的行为不符,那将是一种耻辱......
  • @Sampson 你对此有什么看法吗?当前的客户站点 svg 很重,我们需要尽快做出决定,是否应该在 Edge 中“支持设计”。很想直接从源头得到一个词:)
  • @Dejan.S Microsoft Edge 在今年 1 月 11 日的 Microsoft 10 版本中增加了对此的支持。见developer.microsoft.com/en-us/microsoft-edge/platform/status/…
【解决方案2】:

这可能与我在使用 D3.js 库时遇到的问题有关。形状会以黑色填充,因为 Edge 生成的属性属性(而不是其他浏览器)总是以大写形式出现,这是 SVG 标准不支持的。检查元素并查看属性是否大写;如果是这样,那么这是 Edge 中的一个已知问题。

【讨论】:

猜你喜欢
  • 2016-12-06
  • 2016-02-14
  • 1970-01-01
  • 1970-01-01
  • 2020-02-02
  • 2016-03-22
  • 2014-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多