2
我想通过使用CSS动画旋转风车。我为Chrome提供了原始值,但在Firefox中,orgin无法正常工作。在Firefox中Svg转换的起源问题
我也试过transform-origin: center center;
但输出显示元素相对于屏幕旋转。
这里是我的codepen演示:Demo
.windmill {
top: 50%;
left: 50%;
width: 100%;
height: 100%;
transform-origin: 51% 65%;
-moz-transform-origin: 51% 65%;
-webkit-animation: clockwise 1s infinite linear;
-moz-animation: clockwise 1s infinite linear;
animation: clockwise 1s infinite linear;
}
@-moz-keyframes clockwise {
0% {
-moz-transform: rotate(0deg);
}
100% {
-moz-transform: rotate(360deg);
}
}
@keyframes clockwise {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="189.072" height="155.185" viewBox="0 0 189.072 155.185">
<g id="wheel-1" class="windmill" fill="#3F3939">
<path d="M31.92 18.674c0 13.18-2.545 15.246-2.545 15.246s-2.546-2.067-2.546-15.246C26.83 5.496 29.374 0 29.374 0s2.546 5.496 2.546 18.674z"/>
<path d="M14.9 39.338c11.413-6.588 14.476-5.418 14.476-5.418s-.517 3.24-11.93 9.828S0 50.88 0 50.88s3.487-4.953 14.9-11.542z"/>
<path d="M41.306 43.748c-11.41-6.59-11.93-9.828-11.93-9.828s3.064-1.17 14.476 5.418c11.413 6.59 14.9 11.542 14.9 11.542s-6.032-.543-17.446-7.132z"/>
</g>
<path fill="#FFF" d="M27.145 34.765l-1.34 118.978h3.57V34.765z"/>
<path fill="#8CC4C8" d="M31.606 34.765h-2.23v118.978h3.57z"/>
<path fill="#608B94" d="M25.806 34.02c0-1.97 1.6-3.567 3.57-3.567v-1.637c-2.875 0-5.206 2.33-5.206 5.205 0 2.877 2.33 5.208 5.205 5.208V37.59c-1.97 0-3.57-1.598-3.57-3.57z"/>
<path fill="#80ADB8" d="M29.375 28.815v1.637c1.973 0 3.57 1.598 3.57 3.568 0 1.972-1.597 3.57-3.57 3.57v1.637c2.875 0 5.206-2.33 5.206-5.207.002-2.874-2.33-5.205-5.205-5.205z"/>
<path fill="#8CC4C8" d="M29.375 37.59c1.973 0 3.57-1.598 3.57-3.57h-7.14c0 1.972 1.6 3.57 3.57 3.57z"/>
<path fill="#FFF" d="M29.375 30.452c-1.97 0-3.57 1.598-3.57 3.568h7.14c0-1.97-1.597-3.568-3.57-3.568z"/>
<path fill="#4F9599" d="M22.274 151.394h13.834v3.79H22.274z"/>
<g>
<g id="wheel-3" class="windmill" fill="#3F3939">
<path d="M162.24 18.674c0 13.18-2.545 15.246-2.545 15.246s-2.546-2.067-2.546-15.246C157.15 5.496 159.694 0 159.694 0s2.546 5.496 2.546 18.674zM145.22 39.338c11.41-6.588 14.475-5.418 14.475-5.418s-.518 3.24-11.93 9.828c-11.413 6.59-17.446 7.132-17.446 7.132s3.486-4.953 14.9-11.542z"/>
<path d="M171.625 43.748c-11.412-6.59-11.93-9.828-11.93-9.828s3.063-1.17 14.475 5.418c11.414 6.59 14.9 11.542 14.9 11.542s-6.03-.543-17.445-7.132z"/>
</g>
<path fill="#FFF" d="M157.464 34.765l-1.34 118.978h3.57V34.765z"/>
<path fill="#8CC4C8" d="M161.925 34.765h-2.23v118.978h3.57z"/>
<path fill="#608B94" d="M156.125 34.02c0-1.97 1.6-3.567 3.57-3.567v-1.637c-2.875 0-5.206 2.33-5.206 5.205 0 2.877 2.33 5.208 5.204 5.208V37.59c-1.97 0-3.57-1.598-3.57-3.57z"/>
<path fill="#80ADB8" d="M159.695 28.815v1.637c1.973 0 3.57 1.598 3.57 3.568 0 1.972-1.598 3.57-3.57 3.57v1.637c2.875 0 5.206-2.33 5.206-5.207 0-2.874-2.33-5.205-5.205-5.205z"/>
<path fill="#8CC4C8" d="M159.695 37.59c1.973 0 3.57-1.598 3.57-3.57h-7.14c0 1.972 1.6 3.57 3.57 3.57z"/>
<path fill="#FFF" d="M159.695 30.452c-1.97 0-3.57 1.598-3.57 3.568h7.14c0-1.97-1.598-3.568-3.57-3.568z"/>
<path fill="#4F9599" d="M152.592 151.394h13.835v3.79h-13.835z"/>
</g>
<g>
<g id="wheel-2" class="windmill" fill="#3F3939">
<path d="M100.31 35.923c0 11.33-2.188 13.107-2.188 13.107s-2.188-1.777-2.188-13.107 2.188-16.055 2.188-16.055 2.188 4.725 2.188 16.055zM85.676 53.688c9.812-5.664 12.445-4.658 12.445-4.658s-.443 2.785-10.256 8.45c-9.812 5.665-15 6.132-15 6.132s3-4.258 12.812-9.924z"/>
<path d="M108.38 57.48c-9.813-5.665-10.26-8.45-10.26-8.45s2.636-1.006 12.447 4.658c9.813 5.666 12.812 9.924 12.812 9.924s-5.188-.466-15-6.13z"/>
</g>
<path fill="#FFF" d="M96.204 49.757l-1.15 102.293h3.068V49.757z"/>
<path fill="#8CC4C8" d="M100.04 49.757h-1.918V152.05h3.07z"/>
<path fill="#608B94" d="M95.053 49.118c0-1.695 1.374-3.07 3.068-3.07v-1.406c-2.47 0-4.474 2.004-4.474 4.477 0 2.47 2.004 4.474 4.475 4.474v-1.406c-1.693 0-3.067-1.376-3.067-3.07z"/>
<path fill="#80ADB8" d="M98.122 44.642v1.407c1.696 0 3.07 1.373 3.07 3.068 0 1.694-1.374 3.068-3.07 3.068v1.406c2.473 0 4.477-2.003 4.477-4.475-.002-2.47-2.006-4.475-4.478-4.475z"/>
<path fill="#8CC4C8" d="M98.122 52.187c1.696 0 3.07-1.374 3.07-3.068h-6.14c0 1.692 1.375 3.067 3.07 3.067z"/>
<path fill="#FFF" d="M98.122 46.05c-1.694 0-3.068 1.373-3.068 3.068h6.14c-.002-1.695-1.376-3.07-3.072-3.07z"/>
<path fill="#4F9599" d="M92.016 150.03h11.894v3.26H92.016z"/>
</g>
</svg>
错了,在Chrome浏览器中变换原点不能正常工作。在Firefox中,它围绕viewBox中心旋转,这是规范说的。 –
是啊我如何让它在自己的轴上旋转。 – undefinedtoken
使用viewBox属性创建