使用过渡旋转超过 360

Rotate beyond 360 with transition

这里是codepen.

单击按钮时,我将 class 'in-view' 和 "bars" 通过旋转 :before 和 :after 45deg 和 -45deg 转换为 "X"分别,同时使中间栏透明。我认为在完成此位置之前再旋转 360 度看起来会很酷(因此我希望它们总共旋转 405 度)。不过,好像还是只能旋转45deg?有什么想法吗?

<div class="menu-button">
    <div></div>
</div>

.menu-button div.in-view {
    background: transparent;
}
.menu-button div.in-view:before,
.menu-button div.in-view:after {
    top: 0;
    transform: translateX(-50%) rotate(-405deg);
    -webkit-transform: translateX(-50%) rotate(-405deg);
}
.menu-button div.in-view::after {
    transform: translateX(-50%) rotate(405deg);
    -webkit-transform: translateX(-50%) rotate(405deg);
}

您需要设置一个起始旋转值

.menu-button div::before,
.menu-button div::after {
    transform: translateX(-50%) rotate(0); /* here */
}

Codepen Demo