我试图模拟一个使用HTML5画布标记和JavaScript制作的动画。我只使用HTML5和CSS,我觉得自己已经接近完成了,但是(可能还有其他事情)我需要在循环之间设置一个延迟(我猜),这样我使用的按钮就可以单独显示一段短时间了。
原始按钮动画可以在这里中找到。
body {
margin: 80px;
}
.ripples {
position: relative;
}
.ripple {
border: 1px solid #B82679;
width: 50px;
height: 50px;
border-radius: 50px;
position: absolute;
}
/*/*animation: name duration timing-function delay iteration-count direction fill-mode play-state;*/
.ripple-1 {
animation: ripple 1s linear infinite ;
}
.ripple-2 {
animation: ripple 1s linear infinite .8s;
}
@-webkit-keyframes ripple {
5%, 100% {
-webkit-transform: scale(1);
opacity: 1;
}
to {
-webkit-transform: scale(2);
opacity: 0;
}
}<div class="ripples">
<div class="ripple ripple-1"> </div>
<div class="ripple ripple-2"></div>
<img src="https://i.stack.imgur.com/maRO9.png"/>
</div>
发布于 2017-11-09 00:41:17
.ripple-1 {
animation: ripple 2s linear infinite ;
}
.ripple-2 {
animation: ripple 2s linear infinite .45s;
}
@-webkit-keyframes ripple {
0% {
-webkit-transform: scale(1);
opacity: 1;
}
50% {
-webkit-transform: scale(2);
opacity: 0;
}
100% {
-webkit-transform: scale(2);
opacity: 0;
}
}像这样的东西,基本上你的动画是从0%到40%,其余的动画是在它重新开始之前的延迟。只是稍微调整一下你喜欢的时间。希望它能帮上忙
编辑:
您可以像CSS一样将其居中:
.ripples {
position: relative;
width: 50px;
height: 50px;
background: url("https://i.stack.imgur.com/maRO9.png") center no-repeat;
}
.ripple {
border: 1px solid #B82679;
border-radius: 50px;
background: transparent;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}和HTML:
<div class="ripples">
<div class="ripple ripple-1"> </div>
<div class="ripple ripple-2"></div>
</div>https://stackoverflow.com/questions/47191991
复制相似问题