微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错开CSS3动画时间

我有很多.lines,我正在应用一个渐弱的动画.我想知道是否有一种简单的方法以某种方式错开动画时间,因此每一个都是一个一个地触发(与所有一次相反).换句话说,我想创建一个效果,其中第一个.line开始淡出,然后一秒钟后第二个.line会淡出,然后一秒钟后第三个.line会淡出.这只需要在Chrome中运行.
div.line { width: 300px; height:5px; background:red;
           -webkit-animation: fade 20s infinite;
           -webkit-animation-timing-function: linear;
}

@-webkit-keyframes fade {
    0%   { opacity:1.0; }
    50%  { opacity:0.0; }
    100% { opacity:1.0; }
}


<div class="line"></div>
<div class="line"></div>
...
<div class="line"></div>

解决方法

使用nth-child选择每个单独的行,然后应用动画延迟,如下所示:
.line:nth-child(1) {
    -webkit-animation-delay: 1s;
}
.line:nth-child(2) {
    -webkit-animation-delay: 2s;
}

原文地址:https://www.jb51.cc/css/215479.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。