相同CSS动画的不同动画持续时间
Different animation durations for the same CSS animation
我试图让多个div的文本都使用相同的CSS动画-(闪烁),但它们都应该以不同的速率闪烁。比方说,我希望第一个div每2秒闪烁一次,第二个div每4秒闪烁一个。
有办法做到这一点吗?
这是我的代码:
.blink {
animation-duration: 2s;
/*this is what i'm trying to change*/
animation-name: blink;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-timing-function: ease-in-out;
}
@keyframes blink {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
51% {
opacity: 0.1;
}
100% {
opacity: 0.1
}
}
<div class="blink">hello</div>
<div class="blink">explosion</div>
通过使用:first child和:last child,您可以控制每个的动画持续时间
.blink:first-child {
animation-duration: 0.5s; /*this is what i'm trying to change*/
animation-name: blink;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-timing-function: ease-in-out;
}
.blink:last-child {
animation-duration: 1s; /*this is what i'm trying to change*/
animation-name: blink;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-timing-function: ease-in-out;
}
@keyframes blink {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
51% {
opacity: 0.1;
}
100% {
opacity: 0.1
}
}
演示
或相同的
.blink{
animation-name: blink;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-timing-function: ease-in-out;
}
.blink:first-child {
animation-duration: 0.5s; /*this is what i'm trying to change*/
}
.blink:last-child {
animation-duration: 1s; /*this is what i'm trying to change*/
}
@keyframes blink {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
51% {
opacity: 0.1;
}
100% {
opacity: 0.1
}
}
演示
当您说(多个div)时,您可以使用:nth-child(n)来进行类似的div
.blink:nth-child(1) { // for first div
.blink:nth-child(2) { // for second div
.... so on
一种方法是将持续时间拆分为自己的类,并在HTML中使用多个类(以.blink
为主类):
.blink {
animation-name: blink;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-timing-function: ease-in-out;
}
.blink-1s {
animation-duration: 1s;
}
.blink-2s {
animation-duration: 2s;
}
.blink-3s {
animation-duration: 3s;
}
@keyframes blink {
0% {
opacity: 1;
}
50% {
opacity: 1;
}
51% {
opacity: 0.1;
}
100% {
opacity: 0.1
}
}
<div class="blink blink-1s">one second</div>
<div class="blink blink-2s">two seconds</div>
<div class="blink blink-3s">three seconds</div>
相关文章:
- 在jQuery中,短距离长持续时间的精细字体大小动画
- jQuery动画的持续时间就像一个延迟
- 速度.js动画两个属性时持续时间不同
- d3 动画中的持续时间
- JS:设置src更改的动画持续时间
- 如何为动画持续时间较短的元素制作连续动画's[GASP]
- 在 Javascript 中更新动画持续时间
- JavaScript 动画的持续时间并不精确
- 在同一持续时间内对两个属性进行动画处理
- 网页动画 API - 改变动画持续时间
- 传单.js设置适合边界动画的持续时间
- 对画布上的移动形状或动画形状应用持续时间
- CSS3关键帧-改变动画持续时间导致“;跳跃”;
- 无法使用 jQuery 更改正文上的“动画持续时间”CSS
- 相同CSS动画的不同动画持续时间
- 当Css3动画被相同的事件触发时,具有相同持续时间的动画在不同的时间结束
- 改变动画持续时间CSS3不工作在Chrome
- 如何按比例设置这个jQuery动画的持续时间?
- 如何使用Javascript设置动画的持续时间
- “返回顶部”按钮每次单击都会延长动画持续时间