请问老师怎么设置动画的最初始状态
.c1 {
top: 6%;
left: 120%;
transform: scale(0.8);
opacity: 0.8;
animation: c1 20s linear infinite 2s;
}@keyframes c1{
0% {left: 100%;}
100% {left: -10%;}
}动画从最右边延迟两秒出来的,请问我怎么能让动画从页面中间开始滚动呢?
25
收起
正在回答
4回答
单独的一个动画播放会一直在它的初始位置重新播放 ,想要达到所说的效果 ,需要写两个动画 ,并结合js实现 ,如下:
css3定义两个动画效果:

使用js监控当第一个动画播放完毕 , 移除第一个动画并添加第二个动画:

完善一下吧 ,祝学习愉快 !
红尘万里难追妃子笑
2018-06-04 20:42:03
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>sky&cloud</title> <link rel="stylesheet" type="text/css" href="css/style.css"> </head> <body> <div class="main"> <div class="sky"> <div class="cloud c1"></div> <div class="cloud c2"></div> <div class="cloud c3"></div> <div class="cloud c4"></div> <div class="cloud c5"></div> </div> <div class="glass"> <div class="rabbit"></div> </div> </div> </body> </html>
* {
margin: 0;
padding: 0;
}
.main {
width: 100%;
height: 100vh;
}
.sky {
height: 60%;
background: -webkit-linear-gradient(rgb(196, 228, 253), transparent);
background: -moz-linear-gradient(rgb(196, 228, 253), transparent);
background: -o-linear-gradient(rgb(196, 228, 253), transparent);
background: linear-gradient(rgb(196, 228, 253), transparent);
overflow: hidden;
}
.glass {
height: 40%;
background: -webkit-linear-gradient(transparent, rgb(148, 190, 89));
background: -moz-linear-gradient(transparent, rgb(148, 190, 89));
background: -o-linear-gradient(transparent, rgb(148, 190, 89));
background: linear-gradient(transparent, rgb(148, 190, 89));
}
.cloud {
width: 153px;
height: 51px;
border-radius: 50px;
background-color: #fff;
position: relative;
}
.cloud::before {
content: '';
background-color: #fff;
position: absolute;
width: 60px;
height: 78px;
border-radius: 30px;
top: -20px;
left: 18px;
}
.cloud::after {
content: '';
background-color: #fff;
position: absolute;
width: 102px;
height: 100px;
border-radius: 50px;
top: -34px;
left: 37px;
}
.c1 {
top: 6%;
left: 120%;
transform: scale(0.8);
opacity: 0.8;
animation: c1 20s linear infinite 2s;
}
.c2 {
top: 15%;
left: 120%;
transform: scale(1.5);
opacity: 0.6;
animation: c2 10s linear infinite 4s;
}
.c3 {
top: 14%;
left: 35%;
transform: scale(0.8);
opacity: 0.9;
animation: c3 5s linear infinite 2s;
}
.c4 {
left: 66%;
top: 7%;
transform: scale(0.6);
opacity: 0.7;
animation: c4 18s linear infinite;
}
.c5 {
top: -25%;
left: 110%;
animation: c5 25s linear infinite 3s;
}
.rabbit {
background: url(../image/rabbit.png) no-repeat;
position: absolute;
bottom: 50px;
right: 200px;
width: 150px;
height: 150px;
background-size: 100%;
}
@keyframes c1{
0% {left: 100%;}
100% {left: -10%;}
}
@keyframes c2{
0% {left: 100%;}
100% {left: -10%;}
}
@keyframes c3{
0% {left: 100%;}
100% {left: -10%;}
}
@keyframes c4{
0% {left: 100%;}
100% {left: -10%;}
}
@keyframes c5{
0% {left: 100%;}
100% {left: -10%;}
}
响应式开发与常用框架 2018
- 参与学习 人
- 提交作业 2198 份
- 解答问题 5012 个
如果你有web端基础,既想进阶,又想进军移动端开发,那就来吧,我们专题为你带来的课程有HTML5、CSS3、移动基础、响应式、bootstrap、less等,让你在前端道路上畅通无阻!
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星