css3绘制一个会动的大嘴鸟

2024年04月22日 建站教程

如何利用css3绘制一个会动的大嘴鸟动画效果),下面web建站小编给大家介绍一下大嘴鸟动画代码!

html代码

<div class="dong">
  <div class="monster">
    <div class="monster__face">
      <div class="monster__eye avatar-eye avatar-eye--green eye--left">
        <div class="avatar-eye-pupil pupil--green"><span class="avatar-eye-pupil-blackThing"><span class="avatar-eye-pupil-lightReflection"></span></span>
        </div>
      </div>
      <div class="monster__eye avatar-eye avatar-eye--violet eye--right">
        <div class="avatar-eye-pupil pupil--pink"><span class="avatar-eye-pupil-blackThing"><span class="avatar-eye-pupil-lightReflection"></span></span>
        </div>
      </div>
      <div class="monster__noses">
        <div class="monster__nose"></div>
        <div class="monster__nose"></div>
      </div>
      <div class="monster__mouth">
        <div class="monster__top"></div>
        <div class="monster__bottom"></div>
      </div>
    </div>
  </div>
</div>

css3代码

 /* 大嘴鸟*/
.dong {
  z-index:9999;
  position:fixed;
  top:-40px;
  right:-80px;
  transform:scale(0.24);
  -webkit-transform:scale(0.24);
  -moz-transform:scale(0.24);
}
.monster {
  transform:rotate(-50deg);
  -ms-transform:rotate(-50deg);
  /* IE 9 */
  -moz-transform:rotate(-50deg);
  /* Firefox */
  -webkit-transform:rotate(-50deg);
  /* Safari 和 Chrome */
  -o-transform:rotate(-50deg);
  /* Opera */
  display:flex;
  justify-content:center;
  position:relative;
  width:170px;
  height:400px;
  border-top-left-radius:200px;
  border-top-right-radius:200px;
  background-color:#3C47D7;
  box-shadow:20px 20px 60px #4650E5;
}
.monster__face {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  position:absolute;
  top:14%;
  width:75%;
  height:160px;
}
.monster__noses {
  top:50%;
  display:flex;
  justify-content:space-between;
  width:28%;
  height:auto;
  margin-bottom:10px;
}
.monster__nose {
  width:8px;
  height:12px;
  border-radius:20px;
  background:rgba(0,0,0,0.5);
  box-shadow:4px 8px 5px rgba(0,0,0,0.1);
}
.monster__mouth {
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
  width:100%;
  height:0%;
  overflow:hidden;
  border:25px solid #FFC333;
  border-radius:100px;
  background-color:#810332;
  animation:mouth 1.75s infinite;
  box-shadow:4px 8px 5px rgba(0,0,0,0.2);
  box-sizing:border-box;
}
.monster__mouth::before {
  content:'';
  position:absolute;
  width:150px;
  height:80px;
  border-radius:100px;
  background-color:#400018;
}
.monster__mouth::after {
  content:'';
  position:absolute;
  bottom:-80px;
  width:160px;
  height:80px;
  border-top-left-radius:50%;
  border-top-right-radius:50%;
  background-color:#DC1B50;
  animation:tongue 1.75s infinite;
}
.monster__top {
  position:absolute;
  top:-30px;
  width:170px;
  height:30px;
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
  background-color:#ffffff;
  z-index:100;
  animation:t 1.75s infinite;
}
.monster__bottom {
  position:absolute;
  bottom:0;
  width:100px;
  height:30px;
  border-top-left-radius:10px;
  border-top-right-radius:10px;
  background-color:#ffffff;
  z-index:100;
  animation:b 1.75s infinite;
}
.avatar-eye {
  position:absolute;
  top:-10%;
  width:65px;
  height:65px;
  background:linear-gradient(105deg,white,#cb87f4);
  border-radius:100%;
  box-shadow:4px 8px 5px rgba(0,0,0,0.2);
  margin:3px;
  -webkit-transform:translateX(-50%);
  transform:translateX(-50%);
}
.avatar-eye--green {
  background:linear-gradient(to bottom,#fdfdfd,#c3efea);
}
.avatar-eye--violet {
  background:linear-gradient(to bottom,#fdfdfd,#e6d6f6);
}
.eye--left {
  left:10%;
}
.eye--right {
  left:85%;
}
.eye--center {
  left:45%;
  top:10%;
}
.avatar-eye-pupil {
  position:absolute;
  width:55%;
  height:55%;
  left:50%;
  top:25%;
  -webkit-transform:translate(-50%);
  transform:translate(-50%);
  z-index:100;
  border-radius:100%;
}
.pupil--green {
  background:linear-gradient(135deg,rgba(188,248,177,0.7),#2fa38c 75%);
}
.pupil--pink {
  background:linear-gradient(135deg,#f1a183,#8535cd);
}
.avatar-eye-pupil-blackThing {
  position:absolute;
  width:55%;
  height:55%;
  left:50%;
  top:25%;
  background:#2c2f32;
  -webkit-transform:translate(-50%);
  transform:translate(-50%);
  border-radius:100%;
  box-shadow:0px 0px 10px rgba(0,0,0,0.2);
}
.avatar-eye-pupil-lightReflection {
  position:absolute;
  width:7px;
  height:7px;
  left:25%;
  top:10%;
  background:#ebebeb;
  -webkit-transform:translate(-50%);
  transform:translate(-50%);
  border-radius:100%;
  box-shadow:10px 10px 10px rgba(255,255,255,0.2);
}
/*大嘴动起来*/
@keyframes t {
  0%,10%,80%,100% {
  	top:-30px;
  }
  20% {
  	top:0px;
  }
  30% {
  	top:-20px;
  }
  40% {
  	top:-0px;
  }
  50% {
  	top:-25px;
  }
  70% {
  	top:0px;
  }
}
@keyframes b {
  0%,10%,80%,100% {
  	bottom:-30px;
  }
  20% {
  	bottom:0px;
  }
  30% {
  	bottom:-20px;
  }
  40% {
  	bottom:-0px;
  }
  50% {
  	bottom:-25px;
  }
  70% {
  	bottom:0px;
  }
}
@keyframes mouth {
  0%,10%,100% {
  	width:100%;
  	height:0%;
  }
  15% {
  	width:90%;
  	height:30%;
  }
  20% {
  	width:50%;
  	height:70%;
  }
  25% {
  	width:70%;
  	height:70%;
  }
  30% {
  	width:80%;
  	height:60%;
  }
  35% {
  	width:60%;
  	height:70%;
  }
  40% {
  	width:55%;
  	height:75%;
  }
  45% {
  	width:50%;
  	height:90%;
  }
  50% {
  	width:40%;
  	height:70%;
  }
  55% {
  	width:70%;
  	height:95%;
  }
  60% {
  	width:40%;
  	height:50%;
  }
  65% {
  	width:100%;
  	height:60%;
  }
  70% {
  	width:100%;
  	height:70%;
  }
  75% {
  	width:90%;
  	height:70%;
  }
  80% {
  	width:50%;
  	height:70%;
  }
  85% {
  	width:90%;
  	height:50%;
  }
  85% {
  	width:40%;
  	height:70%;
  }
  90% {
  	width:90%;
  	height:30%;
  }
  95% {
  	width:100%;
  	height:10%;
  }
}
@keyframes tongue {
  0%,20%,100% {
	bottom:-80px;
  }
  30%,90% {
  	bottom:-40px;
  }
  40% {
  	bottom:-45px;
  }
  50% {
  	bottom:-50px;
  }
  70% {
  	bottom:-80px;
  }
  90% {
  	bottom:-40px;
  }
}

本文链接:http://so.lmcjl.com/news/2863/

展开阅读全文
相关内容