jquery - 切换类 : How does this CSS work?

标签 jquery html css animation ember.js

我正在使用以下动画(用 Ember JS 重新实现),但未能理解此 CSS 的工作原理。请参阅下面的链接。

https://codepen.io/designcouch/pen/Atyop

#nav-icon3 span:nth-child(1) {
  top: 0px;
}


#nav-icon3.open span:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%;
}

toggleClass('open') 在点击 div 时触发,但 open 实际上是什么?它是导航图标的子类吗?如果可以使用 ember,是否可以简单地在两个 CSS block (打开和不打开)之间切换来显示动画?

最佳答案

toggleClass('open') 添加/删除类 'open' 到 div。当“open”被添加到 div 时,div 内的每个 span 元素都会通过伪 nth-child() 选择器以不同的方式改变。 #nav-icon3 的完整 CSS 在这里:

/* Icon 3 */

#nav-icon3 span:nth-child(1) {
  top: 0px;
}

#nav-icon3 span:nth-child(2),#nav-icon3 span:nth-child(3) {
  top: 18px;
}

#nav-icon3 span:nth-child(4) {
  top: 36px;
}

#nav-icon3.open span:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%;
}

#nav-icon3.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

#nav-icon3.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#nav-icon3.open span:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%;
}

过渡设置在下面代码中图标内的所有 span 元素上。您需要 transition: .25s ease-in-out; 存在,以便在所有子 span 元素上出现动画。

  #nav-icon1 span, #nav-icon3 span, #nav-icon4 span {
  display: block;
  position: absolute;
  height: 9px;
  width: 100%;
  background: #d3531a;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

关于jquery - 切换类 : How does this CSS work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39497360/

相关文章:

jquery - 通过特殊属性Jquery隐藏页面上的按钮

javascript - 了解数据消除属性在 Bootstrap 中的工作原理

javascript - 具有多个表达式的 JavaScript 中的三元运算符?

php - 如何使用 PHP 删除 SQL 行?

html - 创建消息框

html - 如果我的图片是随机的,我该如何声明 img 的宽度和高度?

javascript - 使用 JSDoc 记录 jQuery

javascript - 从数组中绘制图像

javascript - 按钮触发周围按钮无法正常工作

html - 尝试使用 :not() for custom cursor, 无效