我正在寻找一个专门解决浏览器对svg g element
css转换支持的答案。SVG g元素CSS转换不工作跨浏览器?
为了显示这个问题,here是一个代表性的例子,可以在Chrome中使用,但只在Firefox和Safari的两个转换位置之间“跳跃”。
活生生的例子:https://jsbin.com/lepepev/edit?html,output
.rect-group
正在转变,这样既rect
此举在一起:
<style>
.container {
margin: 10em;
width: 100vw;
height: 100vh;
}
.test-rect {
border: 1px solid black;
}
.rect-group {
transition: transform .25s ease-out 0s;
transform: translateY(50px);
}
.rect-group.normal {
transform: translateY(0px);
}
</style>
<svg style="position:absolute;width:0;height:0;" width="0" height="0" version="1.1">
<defs>
<symbol id="test-rect" viewBox="0 0 100 100">
<title>test rect</title>
<g class="rect-group">
<rect x="10" y="10" width="30" height="30" stroke="black" fill="transparent" stroke-width="5" />
<rect x="60" y="10" rx="10" ry="10" width="30" height="30" stroke="black" fill="transparent" stroke-width="5" />
</g>
</symbol>
</defs>
</svg>
<div class="container">
<svg class="test-rect">
<use xlink:href="#test-rect"></use>
</svg>
</div>
<!-- .normal is toggled on .rect-group via JS -->
所以,只是在变换的svg g element
一个简单的过渡。同样,它可以在Chrome中运行,但只能在Firefox和Safari的两个转换位置之间“跳跃”。
我使用了Chrome 58,Firefox 54 b14,Safari 10.1.1。
我希望能找出:
- 问题识别(实际的问题是什么)。
- 应该使用什么(如果有的话)解决方法或使用替代技术(不仅仅是“使用库X”)。但是,如果“库X”解决了这个问题,那么实际的解决方法/替换技术将在“库X”代码中找到,所以仍值得一提。