zoukankan      html  css  js  c++  java
  • div+css制作哆啦A梦

    纯CSS代码加上

    制作动画版哆啦A梦(机器猫)
    哆啦A梦(机器猫)我们大家一定都很熟悉,今天给大家演示怎么用纯CSS。代码,来做一个动画版的哆啦A梦.
    效果图:

    下面代码同学可以查看一下,每个线条及椭圆都是纯CSS代码生成。

    首先分析结构
    根据原图,将哆啦A梦分为几个结构,然后再分解其他部位。
    画出各部分的形状和颜色,然后使用绝对定位(absolute)和相对定位(relative)改变其位置。
    各种带弧度形状,使用border-radius属性实现。
    倾斜角度,使用transform属性实现。
    使用background属性的-webkit-gradient() / -moz-linear-gradient() 画出身体部分的线性色彩变化。

    html代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
     <title>哆啦A梦(机器猫)动画版</title>
    </head>
    <body>
      <!-- content是整个哆啦A梦的主体 -->
      <div class="content">
          <!-- 哆啦A梦的头部 -->
          <div class="head"></div>
          <!-- 哆啦A梦的脸部 -->
          <div class="face">
          </div>
          <div class="eye">
              <div></div>
              <div></div>
          </div>
          <div class="eye-2">
              <div>
                  <div></div>
              </div>
              <div>
                  <div></div>
              </div>
          </div>
          <!-- 哆啦A梦的鼻子 -->
          <div class="nose">
              <div class="nose-2"></div>
              <div class="nose-3"></div>
          </div>
          <!-- 哆啦A梦的胡子 -->
          <div class="huzi">
              <div></div>
              <div></div>
              <div></div>
              <div></div>
              <div></div>
              <div></div>
          </div>
          <div class="huzi2">
              <div></div>
              <div></div>
              <div></div>
              <div></div>
              <div></div>
              <div></div>
          </div>
          <!-- 哆啦A梦围巾 -->
          <div class="weijin"></div>
      </div>
    </body>
    </html>
    

    css代码如下:

    <style>
            /*给背景设置渐变色*/
            body {
                background-image:linear-gradient(to right, #eea2a2 0%, #bbc1bf 19%, #57c6e1 42%, #b49fda 79%, #7ac5d8 100%);
            }
            /*给哆啦A梦整体设置宽度*/
            .content{
                 333px;
                height: 350px;
                position: relative;
                margin: 50px auto;
                /*让content 执行keyframes动画*/
                animation: play 5s linear infinite;
            }
    
            /*头设置*/
            .head {
                 325px;
                height: 325px;
                border-radius: 50%;
                background-color: #0dacd7;
                border: 2px solid #555555;
                transition: 3s;
            }
            /*脸设置*/
            .face{
                 270px;
                height: 200px;
                background-color: white;
                border-radius: 130px;
                position: absolute;
                top: 115px;
                left: 31px;
                transition: 3s;
            }
            /*眼睛设置*/
            .eye {
                 158px;
                position: absolute;
                top: 82px;
                left: 90px;
                transition: 3s;
            }
            .eye>div{
                 75px;
                height: 90px;
                background-color: white;
                border: 2px solid black;
                border-radius: 40px;
                float: left;
                transition: 3s;
            }
            .eye-2>div{
                 17px;
                height: 30px;
                border-radius: 50%;
                background-color: black;
                position: relative;
            }
            .eye-2>div:nth-child(1){
                position: absolute;
                top: 116px;
                left: 136px;
            }
            .eye-2>div:nth-child(2){
                position: absolute;
                top: 116px;
                left: 184px;
            }
            .eye-2>div>div {
                 9px;
                height: 9px;
                background-color: white;
                border-radius: 50%;
                position: absolute;
                top: 13px;
                left: 5px;
            }
            /*鼻子设置*/
            .nose{
                 32px;
                height: 32px;
                background-color: #c93300;
                border-radius: 50%;
                position: absolute;
                top: 159px;
                left: 153px;
            }
            .nose-2 {
                 3px;
                height: 80px;
                background-color: black;
                position: absolute;
                top: 32px;
                left: 14px;
            }
            .nose-3 {
                 147px;
                height: 77px;
                border-bottom: 3px solid black;
                border-radius: 50%;
                position: absolute;
                top: 35px;
                left: -58px;
            }
            /*围巾设置*/
            .weijin{
                 240px;
                height: 24px;
                background-color: #ab2800;
                border-radius: 9px;
                position: absolute;
                top: 305px;
                left: 45px;
            }
            /*胡子设置*/
            .huzi {
                position: absolute;
                top: 186px;
                left: 54px;
            }
            .huzi>div:nth-child(1){
                 60px;
                height: 2px;
                background-color: black;
                transform: rotate(15deg);
                transition: 3s;
            }
    
            .huzi>div:nth-child(2){
                 60px;
                height: 2px;
                background-color: black;
                margin-top: 20px;
                margin-bottom: 20px;
                transition: 3s;
            }
            .huzi>div:nth-child(3){
                 60px;
                height: 2px;
                background-color: black;
                transform: rotate(-15deg);
    
            }
    
            .huzi2 {
                position: absolute;
                top: 186px;
                left: 224px;
            }
            .huzi2>div:nth-child(1){
                 60px;
                height: 2px;
                background-color: black;
                transform: rotate(165deg);
            }
    
            .huzi2>div:nth-child(2){
                 60px;
                height: 2px;
                background-color: black;
                margin-top: 20px;
                margin-bottom: 20px;
            }
            .huzi2>div:nth-child(3){
                 60px;
                height: 2px;
                background-color: black;
                transform: rotate(-165deg);
    
            }
            /*设置哆啦A梦移动路径的动画*/
            @keyframes play {
                0{
                    transform: rotate(0deg) translateX(0);
    
                }
                15%{
                    transform:  translateX(400px) rotate(190deg);
    
                }
                30%{
                    transform: translateX(0px) rotate(-80deg);
                }
                45%{
                    transform: translateX(-400px) rotate(-175deg);
                }
                60%{
                    transform: translateX(-100px) rotate(-20deg);
                }
                80%{
                    transform: rotate(190deg) translateY(-300px);
                }
                100%{
                    transform: rotate(-20   deg) translateY(200px);
                }
            }
        </style>
    
  • 相关阅读:
    错误网络异常:android.os.NetworkOnMainThreadException
    方法服务android学习笔记42_服务的生命周期
    芯片软件随想录(关于核心技术)
    数组比特【编程珠玑】如何优化程序打印出小于100000的素数
    宋体函数Java乔晓松oracle分组函数
    调试客户端windbg远程调试方法
    方法对象Hibernate联合主键
    文件运行跟踪 root.sh 的 执行过程
    移植交叉编译pcDuino + busybox 成功搭建最小linux系统
    方法定制iOS学习笔记8UITableView的定制
  • 原文地址:https://www.cnblogs.com/wangjiahui/p/10843707.html
Copyright © 2011-2022 走看看