【发布时间】:2016-05-28 00:46:15
【问题描述】:
我根据页面上的航点淡入了三个 div。我正在尝试错开这些 div。我遇到的问题是因为我将它们从不透明度淡入:0,一旦添加了“动画”类,所有的 div 都会显示(然后延迟的 div 将从不透明度播放它们的动画:1)。这可能是一个愚蠢的问题,但我想不出一种方法来延迟第二个和第三个 div 的不透明度,而不必给它们单独的动画类。任何帮助将不胜感激!
.project {
opacity: 0;
}
.project.animated {
opacity: 1;
animation-name: fadeInDown;
animation-duration: 1s;
&:nth-child(2) {
animation-delay: .3s;
}
&:nth-child(3) {
animation-delay: .6s;
}
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translate3d(0, -40%, 0);
}
to {
opacity: 1;
transform: none;
}
}
编译后的 CSS:
.project {
opacity: 0;
}
.project.animated {
opacity: 1;
animation-name: fadeInDown;
animation-duration: 1s;
}
.project.animated:nth-child(2) {
animation-delay: .3s;
}
.project.animated:nth-child(3) {
animation-delay: .6s;
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translate3d(0, -40%, 0);
}
to {
opacity: 1;
transform: none;
}
}
【问题讨论】:
-
我已经编辑了您的问题并添加了编译后的 CSS 代码,因为不是每个人都熟悉 Sass/Less 语法(这会导致很多 cmets 质疑语法、混淆)。除非问题出在预处理器本身,否则最好发布已编译的 CSS。
标签: css animation css-animations