CSS 转换 sass 文件和动画不工作

CSS transform on sass file and animations not working

我正在尝试通过旋转 3 divs(.line 1、.line2 和 .line3)来制作动画,点击另一个 div (#burger)。

3 个 div 包裹在 #burger div 周围(这些在 .js 文件中):

<div
    id="burger"
    onClick={activateResponsiveMenu}
    className={navbarStyles.burger}
  >
    <div className={navbarStyles.line1}></div>
    <div className={navbarStyles.line2}></div>
    <div className={navbarStyles.line3}></div>
  </div>

CSS 写在.scss 文件中并导入为'navbarStyles'。 在 CSS 中,我通过向 #burger div 添加 class 'clicked' 来为 div 设置动画。至于动画,我希望 .line1 和 .line3 divs 旋转,.line 2 消失:

.clicked .line1 {
  transform: rotate(-45deg translate(-5px, 6px));
}

.clicked .line2 {
  opacity: 0;
}

.clicked .line3 {
  transform: rotate(45deg translate(-5px, -6px));
}

切换 class .clicked on #burger 的 JS 函数如下:

const activateResponsiveMenu = () => {
    const burger = document.querySelector("#burger")
    burger.classList.toggle(navbarStyles.clicked)
}

问题是,虽然 .line2 div 的不透明度在点击#burger 时变为 0,但 CSS 变换不起作用,.line1 和 .line3 不旋转.正在应用所有其他样式。

根据转换规范,值应该 space 分隔 https://developer.mozilla.org/en-US/docs/Web/CSS/transform 这会使您的语法无效,您应该改用以下格式

transform: rotate(-45deg) translate(-5px, 6px);