我的cloud1的动画效果有问题

来源:2-15 作业题

田马达加斯加

2018-09-12 19:41:59

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>蓝天白云绿草地</title>

<link rel="stylesheet" href="css/index.css" type="text/css">

</head>

<body>

<div class="main">

<!--蓝天-->

<div class="sky">

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

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

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

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

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

</div>

<!--草地-->

<div class="meadow">

<div class="rabbit">

<div class="body"></div>

<div class="leg right"></div>

<div class="leg"></div>

<div class="tail"></div>

<div class="head">

<div class="eye">

<div class="eyeball"></div>

</div>

<div class="eye left">

<div class="eyeball"></div>

</div>

<div class="beard-right"></div>

<div class="beard"></div>

<div class="nose"></div>

</div>

<div class="ear"></div>

<div class="ear right"></div>

</div>

</div>

</div>

<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>

<script type="text/javascript">

var animationPlay=$('.colud1');

animationPlay.bind('webkitAnimationEnd',function(){

animationPlay.removeClass('cloud1');

animationPlay.addClass('colud1M');

})

</script>

</body>

</html>

*{

padding:0;

margin:0;

}

:root{

--t1:33s;

--t2:24s;

--t3:38s;

--t4:23s;

--t5:20s;

--tM:14s;

}

/*main部分样式设置*/

.main{

width:100%;

height:100vh;

}

/*sky部分样式设置*/

.sky{

width:100%;

height:60%;

background: rgb(196, 228, 253);

background:-webkit-linear-gradient(rgba(196, 228, 253,1) ,rgba(196, 228, 253,0));

background:   -moz-linear-gradient(rgba(196, 228, 253,1) ,rgba(196, 228, 253,0) );

background:     -o-linear-gradient(rgba(196, 228, 253,1) ,rgba(196, 228, 253,0) );

background:        linear-gradient(rgba(196, 228, 253,1) ,rgba(196, 228, 253,0));

position:relative;

overflow:hidden;

}

.cloud{

width:105px;

height:35px;

background:#fff;

position:relative;

border-radius:80px/50px 53px 51px 50px;

-webkit-transform:rotate(377deg);

   -moz-transform:rotate(377deg);

    -ms-transform:rotate(377deg);

     -o-transform:rotate(377deg);

        transform:rotate(377deg);

}

.cloud::before{

position:absolute;

content:"";

display:block;

width:35px;

height:55px;

background:#fff;

border-radius:35px/30px 25px 50px 35px;

left:14px;

top:-13px;

-webkit-transform:rotate(330deg);

   -moz-transform:rotate(330deg);

    -ms-transform:rotate(330deg);

     -o-transform:rotate(330deg);

        transform:rotate(330deg);

}

.cloud::after{

position:absolute;

content:"";

display:block;

width:58px;

height:68px;

background:#fff;

border-radius:58px/50px 58px 70px 60px;

left:39px;

top:-27px;

-webkit-transform:rotate(354deg);

   -moz-transform:rotate(354deg);

    -ms-transform:rotate(354deg);

     -o-transform:rotate(354deg);

        transform:rotate(354deg);

}

.cloud1{

position:absolute;

top:50px;

left:650px;

-webkit-transform:scale(0.6);

   -moz-transform:scale(0.6);

    -ms-transform:scale(0.6);

     -o-transform:scale(0.6);

        transform:scale(0.6);

opacity: 0.6;

animation:floatM var(--tM) ease;

}

.cloud1M{

position:absolute;

top:50px;

left:650px;

-webkit-transform:scale(0.6);

   -moz-transform:scale(0.6);

    -ms-transform:scale(0.6);

     -o-transform:scale(0.6);

        transform:scale(0.6);

opacity: 0.6;

animation:float var(--t1) ease-out infinite;

}

.cloud2{

position:absolute;

top:110px;

/*left:190px;*/

-webkit-transform:scale(0.55) rotate(5deg);

   -moz-transform:scale(0.55) rotate(5deg);

    -ms-transform:scale(0.55) rotate(5deg);

     -o-transform:scale(0.55) rotate(5deg);

        transform:scale(0.55) rotate(5deg);

opacity: 0.7;

animation:float var(--t2) ease infinite;

}

.cloud3{

position:absolute;

top:45px;

/*left:30px;*/

-webkit-transform:scale(0.7) rotate(3deg);

   -moz-transform:scale(0.7) rotate(3deg);

    -ms-transform:scale(0.7) rotate(3deg);

     -o-transform:scale(0.7) rotate(3deg);

        transform:scale(0.7) rotate(3deg);

opacity: 0.9;

animation:float var(--t3) ease infinite;

}

.cloud4{

position:absolute;

top:65px;

-webkit-transform:scale(0.6) rotate(3deg);

   -moz-transform:scale(0.6) rotate(3deg);

    -ms-transform:scale(0.6) rotate(3deg);

     -o-transform:scale(0.6) rotate(3deg);

        transform:scale(0.6) rotate(3deg);

animation:float var(--t4) ease-out .4s infinite;

}

.cloud5{

position:absolute;

top:20px;

/*left:70px;*/

-webkit-transform:scale(0.63) rotate(4deg);

   -moz-transform:scale(0.63) rotate(4deg);

    -ms-transform:scale(0.63) rotate(4deg);

     -o-transform:scale(0.63) rotate(4deg);

        transform:scale(0.63) rotate(4deg);

animation:float var(--t5) ease-out .2s infinite;

}

/*meadow部分样式设置*/

.meadow{

height:40%;

position:relative;

background:rgb(148, 190, 89);

background:-webkit-linear-gradient(rgba(148, 190, 89,0),rgba(148, 190, 89,0.7) 63%,rgba(148, 190, 89,1) );

background:   -moz-linear-gradient(rgba(148, 190, 89,0),rgba(148, 190, 89,0.7) 63%,rgba(148, 190, 89,1) );

background:     -o-linear-gradient(rgba(148, 190, 89,0) ,rgba(148, 190, 89,0.7) 63%,rgba(148, 190, 89,1) );

background:        linear-gradient(rgba(148, 190, 89,0) ,rgba(148, 190, 89,0.7) 63%,rgba(148, 190, 89,1) );

}

@keyframes float{

0%{

left:1350px;

}

100%{

left:-50px;

}

}

@keyframes floatM{

0%{

left:650px;

}

100%{

left:-50px;

}

}

.rabbit{

width:300px;

position:absolute;

bottom:50px;

left:75%;

transform:scale(0.7);

}

.tail{

position:absolute;

width:60px;

height:85px;

top:-24px;

right:113px;

border-radius:85px/68px 85px 132px 63px;

background:#fff;

z-index:-1;

}

.body{

width:150px;

height:100px;

background:#f8f9f7;

border-radius:199px 228px 297px 369px;

transform:rotate(-27deg);

box-shadow: 0px -52px 97px 0px #cfd8cf inset;

z-index:3;

position:relative;

}

.body::before{

content:'';

display:block;

position:absolute;

top:37px;

left:67px;

background:#f8f9f7;

width:60px;

height:91px;

border-radius:71px 175px 138px 100px;

box-shadow:5px -51px 40px -7px #cfd8cf inset;

transform:rotate(5deg) skewY(-22deg);

}

.body::after{

content:'';

display:block;

width:75px;

height:35px;

position:absolute;

top:86px;

left:21px;

background:#f8f9f7;

border-radius:366px 83px 55px 357px/100px;

box-shadow:-34px -41px 45px -16px #cfd8cf inset;

transform:rotate(24deg);

}

.leg{

width:50px;

height:25px;

position:absolute;

top:87px;

left:-1px;

background:#f8f9f7;

border-radius:69px 97px 77px 55px/40px;

box-shadow:28px -39px 16px -34px #cfd8cf inset;

transform:rotate(-40deg);

z-index:4;

}

.leg.right{

transform:translate(-11px,-15px) rotate(-35deg);

box-shadow:-55px 32px 23px -34px #cfd8cf inset;

z-index:1;

}

.head{

position:absolute;

left:-115px;

top:-65px;

width:150px;

height:150px;

background:#fff;

border-radius:75% 53% 62% 61%;

transform:translate(0px,0px) rotate(-36deg);

z-index:5;

overflow:hidden;

}

.head .eye{

width:50px;

height:35px;

background:#838384;

border-radius:50px/35px 50px 35px 50px;

position:absolute;

left:65px;

top:50px;

transform:rotate(-5deg);

z-index:1;

}

.head .eyeball{

width:15px;

height:10px;

background:#fff;

border-radius:15px/11px 14px 12px 15px;

transform:translate(26px,9px) rotate(5deg);

}

.head .eye.left{

transform:translate(-2px,-64px) rotate(5deg);

}

.head .nose{

position:absolute;

top:30px;

left:35px;

width:22px;

height:30px;

background:#838384;

border-radius:25px/62px 60px 18px 19px;

transform:rotate(20deg) skewY(27deg);

z-index:3;

}

.head .beard{

width:25px;

height:21px;

background:#fff;

border-radius:19px 14px 35px 35px;

box-shadow:-1px 2px 0px 0px #a7a6a6;

transform:translate(27px,-7px) rotate(67deg);

}

.head .beard-right{

width:48px;

height:30px;

background:#fff;

border-radius:40px/21px 11px 35px 35px;

box-shadow:-1px 2px 0px 0px #a7a6a6;

transform:   translate(13px,55px) rotate(76deg);

}

.ear{

position:absolute;

left:21px;

top:-217px;

width:55px;

height:200px;

background:#f8f9f7;

border-radius:55px/226px 213px 78px 181px;

transform:rotate(-139deg);

box-shadow: 0px 80px 54px 0px #cfd8cf inset;

}

.ear.right{

transform:scale(-1,1) translate(-49px,48px) rotate(-241deg);

}

cloud1设置了两个动画先从中间飘到左边,

然后设置的从最右边网最左边漂浮的动画为什么出不来呢,麻烦老师给看看

写回答

1回答

好帮手慕星星

2018-09-13

监听动画结束的事件可以使用js来完成,参考:

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

白云移动的位置,建议不要设置固定像素,不同的显示器分辨率不同,显示效果也会不同,所以可以设置100%。

自己测试下,祝学习愉快~~

0

0 学习 · 5012 问题

查看课程