【发布时间】:2018-02-11 19:54:07
【问题描述】:
我正在尝试通过 CSS 旋转包含 SVG 的单个对象。尽管设置了“转换原点”,但我无法围绕元素中心进行旋转。
HTML:
<svg xmlns="http://www.w3.org/2000/svg" width="8.94" height="31.23" viewBox="0 0 8.94 31.23">
<defs>
<g id="el">
<rect x="1.86" y="0.2" width="5.22" height="30.82" transform="translate(-1.87 0.66) rotate(-7)"></rect>
</g>
</defs>
</svg>
<svg class="canvas">
<use x="49%" y="76%" href="#el"></use>
<use x="80%" y="63%" href="#el"></use>
<use x="5%" y="32%" href="#el"></use>
<use x="80%" y="12%" href="#el"></use>
</svg>
CSS:
.canvas {
position: absolute;
height: 100%;
width: 100%;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
.canvas use:nth-child(4){
fill: red;
transform-origin: 50% 50%;
transform: rotate(20deg);
}
我发了一个JSfiddle 来说明问题。我想要做的是将红色元素围绕它自己的中心旋转 20 度。但它一直在左上角旋转。
【问题讨论】:
标签: html css svg rotation transform