h5+css中秋月亮动画

昨晚的中秋节月亮都看了吧,那今天我们用代码写出个月亮吧

  • 先瞧瞧效果图吧

  • 废话不说直接上代码
<!DOCTYPE html>
<html lang="en" >
<head>
  <meta charset="UTF-8">
  <title>月亮</title>
  <style>
    body{
  background-color:#2a003f;
}
.donghua{
  width: 668px;
  height: 500px;
  position: absolute;
  top:50%;
  left: 50%;
  margin: -250px 0 0 -334px;
  background-color: #2a003f;
  overflow: hidden;
}

.fuhao{
  width: 100%;
  height: 100%;
  position: absolute;
}
.fuhao div:nth-child(odd){
  animation: hua 0.6s ease-in-out 0s , fudong 4s linear 0.6s infinite;
}
.fuhao div:nth-child(even){
  animation:hua2 0.6s ease-in-out 0s , fudong 6s linear 0.6s infinite
}
@keyframes hua {
  0%{transform: translateY(500px);}
  100%{transform: translateY(0px);}
}
@keyframes hua2 {
  0%{transform: translateY(-500px);}
  100%{transform: translateY(0px);}
}
@keyframes fudong {
  0%{transform: translateY(0px);}
  50%{transform: translateY(9px);}
  100%{transform: translateY(0px);}
}

.o{
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50px;
}
.o1{
  left: 145px;
  top: 320px;
  border: 5px #fff solid;
}
.o2{
  left: 223px;
  top: 273px;
  border: 5px #fcc010 solid;
}
.o3{
  left: 476px;
  top: 216px;
  border: 5px #3cfaf7 solid;
}
.o4{
  left: 430px;
  top: 350px;
  border: 5px #fff solid;
}
.x{
  position: absolute;
  width: 20px;
  height: 6px;
  border-radius: 50px;
}
.x::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  transform: rotate(90deg);
}
.x1{
  left: 178px;
  top: 169px;
  background-color: #3cfaf7;
}
.x1::before{
  background-color: #3cfaf7;
}
.x2{
  left: 395px;
  top: 140px;
  background-color: #ffbf02;
}
.x2::before{
  background-color: #ffbf02;
}
.x3{
  left: 230px;
  top: 368px;
  background-color: #ffbf02;
}
.x3::before{
  background-color: #ffbf02;
}
.d{
  width: 5px;
  height: 5px;
  position: absolute;
  border-radius: 5px;
  background-color: #fae527;
}
.d1{
  left: 290px;
  top: 101px;
  transform-origin:left 30px;
}

.d2{
  left: 495px;
  top: 150px;
}
.d3{
  left: 166px;
  top: 226px;
}
.d4{
  left: 540px;
  top: 280px;
}
.d5{
  left: 295px;
  top: 417px;
  background-color: #3cfaf7;
}
.d6{
  left: 405px;
  top: 400px;
}


.yueliang{
  width: 100%;
  height: 100%;
  position: absolute;
}
.yue{
  width: 160px;
  height: 160px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -80px 0 0 -80px;
  background-color: #fcc000;
  border-radius: 100px;
  transform: scale(0,0);
  animation: da 0.3s ease-out 0.6s forwards;
}
@keyframes da {
  0%{transform: scale(0,0);}
  100%{transform:  scale(1,1);}
}
.yue::before{
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  left: 10px;
  width: 130px;
  height: 135px;
  background-color: #fae62d;
  border-radius: 60% 40% 60% 40%;
}
.yan{
  width: 12px;
  height: 12px;
  position: absolute;
  top: 66px;
  left: 50px;
  background-color: #411641;
  border-radius: 20px;
  animation: zhayan 4s linear 1s infinite;
}
.yan::before{
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  left: 38px;
  background-color: #411641;
  border-radius: 20px;
}
@keyframes zhayan {
  0%{transform: scale(1,1)}
  5%{transform: scale(1,0)}
  10%{transform: scale(1,1)}
  15%{transform: scale(1,1)}
  20%{transform: scale(1,0)}
  25%{transform: scale(1,1)}
  100%{transform: scale(1,1)}
}

.zui{
  width: 10px;
  height: 8px;
  position: absolute;
  top: 70px;
  left: 65px;
  border: 5px solid #411641;
  border-radius: 50px;
  border-top-color: transparent;
}
.hong{
  width: 12px;
  height: 9px;
  position: absolute;
  top: 82px;
  left: 45px;
  background-color: #fd7e34;
  border-radius: 20px;
  opacity: 0;
  animation: saihong 2s linear 1.8s forwards;
}
.hong::before{
  content: "";
  display: block;
  width: 12px;
  height: 9px;
  position: absolute;
  left: 48px;
  background-color: #fd7e34;
  border-radius: 20px;
}
@keyframes saihong {
  0%{opacity: 0}
  100%{opacity: 1}
}
.guangying{
  width: 100%;
  height: 100%;
  position: absolute;
}
.guang{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background-color: #62332d;
  border-radius: 200px;
}
.g1{
  width: 200px;
  height: 200px;
  opacity: 1;
  transform: scale(0,0);
  animation:g-da 0.2s ease-out 0.7s forwards , guan1 2s linear 1.5s infinite;
}
.g2{
  width: 240px;
  height: 240px;
  opacity: 0.6;
  transform: scale(0,0);
  animation:g-da 0.2s ease-out 0.7s forwards , guan2 3s linear 1.5s infinite;
}
.g3{
  width: 290px;
  height: 290px;
  opacity: 0.3;
  transform: scale(0,0);
  animation:g-da 0.3s ease-out 0.7s forwards , guan1 2s linear 1.5s infinite;
}
.g4{
  width: 330px;
  height: 330px;
  opacity: 0.2;
  transform: scale(0,0);
  animation:g-da 0.4s ease-out 0.7s forwards , guan2 2s linear 1.5s infinite;
}
.g5{
  width: 370px;
  height: 370px;
  opacity: 0.1;
  transform: scale(0,0);
  animation:g-da 0.5s ease-out 0.7s forwards , guan1 2s linear 1.5s infinite;
}
@keyframes g-da {
0%{transform: translate(-50%,-50%) scale(0,0);}
100%{transform: translate(-50%,-50%) scale(1,1);}
}


@keyframes guan1 {
  0%{border-radius: 200px;transform:translate(-50%,-50%) scale(1,1) ;}
  35%{border-radius: 200px 150px 200px 150px;transform:translate(-50%,-50%)scale(0.95,0.95)}
  70%{border-radius: 150px 200px 150px 200px;transform:translate(-50%,-50%)scale(0.95,0.95)}
  100%{border-radius: 200px;transform: translate(-50%,-50%)scale(1,1)}
}
@keyframes guan2 {
  0%{border-radius: 200px;transform:translate(-50%,-50%)scale(1,1) ;}
  35%{border-radius: 150px 200px 150px 200px;transform:translate(-50%,-50%)scale(0.95,0.95)}
  70%{border-radius: 200px 150px 200px 150px;transform:translate(-50%,-50%)scale(0.95,0.95)}
  /*50%{border-radius: 120px 180px 120px 180px;transform:translate(-50%,-50%)scale(0.95,0.95)}*/
  100%{border-radius: 200px;transform: translate(-50%,-50%)scale(1,1)}
}
  </style>

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

      <div class="guangying">

        <div class="guang g1"></div>
        <div class="guang g2"></div>
        <div class="guang g3"></div>
        <div class="guang g4"></div>
        <div class="guang g5"></div>

      </div>

      <div class="fuhao">
        <div class="o o1"></div>
        <div class="o o2"></div>
        <div class="o o3"></div>
        <div class="o o4"></div>
        <div class="x x1"></div>
        <div class="x x2"></div>
        <div class="x x3"></div>
        <div class="d d1"></div>
        <div class="d d2"></div>
        <div class="d d3"></div>
        <div class="d d4"></div>
        <div class="d d5"></div>
        <div class="d d6"></div>
      </div>

      <div class="yueliang">
        <div class="yue">
          <div class="yan"></div>
          <div class="zui"></div>
          <div class="hong"></div>
        </div>
      </div>


    </div>
<!-- partial -->
  
</body>
</html>
  • 代码有点长但可以ctrl+c然后ctrl+v了哦
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
回答: 对于H5+CSS3的静态项目,你可以按照以下步骤进行编写: 1. 首先,确定你想要使用的样式表类型。内部样式表可以放在`<style></style>`标签中,一般放在`<head>`标签中;行内样式表可以直接写在元素标签内部,使用`style="属性: 值;"`的格式;外部样式表可以单独写在一个后缀为.css的文件中,然后在HTML文件中使用`<link rel="stylesheet" href="路径">`引入。 2. 根据CSS语法规范,可以使用`<link>`标签来引入外部样式表。你可以在`<link>`标签中使用`media`属性来指定样式表适用的媒体类型和媒体特性。 3. 如果你想使用Less来编写CSS,你可以搜索并安装Easy Less插件。这个插件可以让你在Less文件中修改信息后,自动将Less文件编译成CSS文件,并将CSS文件引入到页面中。这样,每次保存Less文件时,CSS文件都会自动更新。 4. 在编写Less文件时,你可以使用Less的嵌套功能,将相关的样式规则组织在一起,提高代码的可读性和维护性。 总结起来,你可以使用内部样式表、行内样式表或外部样式表来编写H5+CSS3的静态项目。如果想使用Less来编写CSS,可以安装Easy Less插件,并在Less文件中使用嵌套功能来组织样式规则。 #### 引用[.reference_title] - *1* *2* *3* [h5(html5)+css3+移动端前端](https://blog.csdn.net/weixin_58997863/article/details/125744540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

console.aike

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值