我有大量相对简单的代码,在 JSFiddle here中找到的一个简短动画,但我对我编写的代码感到失望。我觉得它可能会,或者至少应该会更短,因为我不得不重复自己做一些如此细微的不同的事情:
HTML:
<div class="movement">
<div class="mover x1 back"></div>
<div class="mover x2 front"></div>
<div class="mover x3 back"></div>
<div class="mover x4 front"></div>
<div class="mover x5 back"></div>
<div class="mover x6 front"></div>
</div>
CSS:
.mover {
position: absolute;
width: 200px;
height: 20px;
background: black;
-webkit-animation: animato 18s linear infinite;
-moz-animation: animato 18s linear infinite;
-o-animation: animato 18s linear infinite;
animation: animato 18s linear infinite;
}
...
.x1 {
right: 30%;
top: 90px;
-webkit-animation-delay: -3s;
-moz-animation-delay: -3s;
-o-animation-delay: -3s;
animation-delay: -3s;
}
.x2 {
right: 45%;
top: 130px;
-webkit-transform: scale(0.6);
-moz-transform: scale(0.6);
-o-transform: scale(0.6);
transform: scale(0.6);
opacity: 0.6;
-webkit-animation-delay: -6s;
-moz-animation-delay: -6s;
-o-animation-delay: -6s;
animation-delay: -6s;
}
... for each and every moving object, up to x6
我真正想做的是只有一个容器 div(上面的 HTML 中的 class="movement")没有子 div 标签,我可以在其中创建 6 个滚动的移动对象。此外,不必重复 -vendor-animation-delay 或 -vendor-transform 只是为了更改每个规则的延迟时间/比例,这将是非常棒的。有没有更好的我错过的代码重构,或者我真的必须在每个 div 上重复这个以使用 CSS 实现这种效果?