老师,关于云的运动有一个问题想请教一下

来源:2-14 项目作业

慕田峪2009896

2019-08-27 13:21:44

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title></title>

    <style>

     *{

     padding:0;

     margin:0;

     }

     body{width:100%;

     height: 100vh;

     oeerflow:hidden;

     }

     .sky{

     width: 100%;

     height:60vh;

     background:linear-gradient(180deg,rgb(196,228,253),rgba(196,228,253,0));

     position: relative;

     }

     .grass{

     width: 100%;

     height:40vh;

     background:linear-gradient(0deg,rgb(148,190,89),rgba(148,190,89,0));

     }

     .sky>.cloud{

     width:200px;

     height:70px;

     background:#FFF;

     position:absolute;

     /*top:100px;

     left:100px;*/

     border-radius: 35px/35px;

     }

     .sky>.cloud:before{

     content: "";

     width:106px;

     height:60px;

     background:#FFF;

     position:absolute;

     top: 9px;

     left: 5px;

     border-radius: 30px/30px;

     transform:rotate(80deg);

     }

     .sky>.cloud:after{

     content: "";

     width:130px;

     height:130px;

     background:#FFF;

     position:absolute;

     top: -47px;

     left: 53px;

     border-radius: 50%;

     }

     .sky>.cloud.one{

     top: 180px;

     right: 303px;

     opacity: 1;

     animation: move1 2s linear infinite;

     }

     .sky>.cloud.two{

     top: 56px;

     right: 500px;

     opacity: 0.7;

     transform: scale(.65);

     }

     .sky>.cloud.three{

     top: 120px;

right:50px;

     opacity: 0.8;

     transform: scale(.9);

     }

     .sky>.cloud.four{

     top: 180px;

right: -300px;

     opacity: 0.4;

     transform: scale(.7);

     }

     .sky>.cloud.five{

     top: 96px;

right: -300px;

     opacity: 0.6;

     transform: scale(1.1);

     }

     @keyframes move1{

0% {right: 303px;}

100% {right:105%;}


     }

    </style>

</head>


<body>

<div class="sky">

<div class="cloud one"></div>

<div class="cloud two"></div>

<div class="cloud three"></div>

<div class="cloud four"></div>

<div class="cloud five"></div>

</div>

<div class="grass"></div>

</body>

</html>

如果我这样设置的话,云每次运动出现的地方就是right: 303px;应该要怎么设置,才可以让于云在运动到左边之后,再从右边重新出现啊?


写回答

1回答

好帮手慕慕子

2019-08-27

同学你好, 你的这种写法不可以实现云朵初始位置在303px, 运动到左边之后,从右边重新出现。

建议: 可以一开始设置云朵就是在最右边, 然后通过控制动画的延迟时间和执行动画的时间,实现动画效果。示例:

(1)调整动画帧

http://img.mukewang.com/climg/5d64deaf00017a2303290398.jpg

(2)给云朵设置动画

http://img.mukewang.com/climg/5d64dee30001259506180806.jpg

另, 代码中overflow单词拼写错误, 建议修改:

http://img.mukewang.com/climg/5d64deff0001922503580160.jpg

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~


0

0 学习 · 40143 问题

查看课程