我正在尋找一個專門解決瀏覽器對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」代碼中找到,所以仍值得一提。