纯CSS制作加<div>制作动画版哆啦A梦

纯CSS代码加上<div>制作动画版哆啦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{
            width: 333px;
            height: 350px;
            position: relative;
            margin: 50px auto;
            /*让content 执行keyframes动画*/
            animation: play 5s linear infinite;
        }

        /*头设置*/
        .head {
            width: 325px;
            height: 325px;
            border-radius: 50%;
            background-color: #0dacd7;
            border: 2px solid #555555;
            transition: 3s;
        }
        /*脸设置*/
        .face{
            width: 270px;
            height: 200px;
            background-color: white;
            border-radius: 130px;
            position: absolute;
            top: 115px;
            left: 31px;
            transition: 3s;
        }
        /*眼睛设置*/
        .eye {
            width: 158px;
            position: absolute;
            top: 82px;
            left: 90px;
            transition: 3s;
        }
        .eye>div{
            width: 75px;
            height: 90px;
            background-color: white;
            border: 2px solid black;
            border-radius: 40px;
            float: left;
            transition: 3s;
        }
        .eye-2>div{
            width: 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 {
            width: 9px;
            height: 9px;
            background-color: white;
            border-radius: 50%;
            position: absolute;
            top: 13px;
            left: 5px;
        }
        /*鼻子设置*/
        .nose{
            width: 32px;
            height: 32px;
            background-color: #c93300;
            border-radius: 50%;
            position: absolute;
            top: 159px;
            left: 153px;
        }
        .nose-2 {
            width: 3px;
            height: 80px;
            background-color: black;
            position: absolute;
            top: 32px;
            left: 14px;
        }
        .nose-3 {
            width: 147px;
            height: 77px;
            border-bottom: 3px solid black;
            border-radius: 50%;
            position: absolute;
            top: 35px;
            left: -58px;
        }
        /*围巾设置*/
        .weijin{
            width: 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){
            width: 60px;
            height: 2px;
            background-color: black;
            transform: rotate(15deg);
            transition: 3s;
        }

        .huzi>div:nth-child(2){
            width: 60px;
            height: 2px;
            background-color: black;
            margin-top: 20px;
            margin-bottom: 20px;
            transition: 3s;
        }
        .huzi>div:nth-child(3){
            width: 60px;
            height: 2px;
            background-color: black;
            transform: rotate(-15deg);

        }

        .huzi2 {
            position: absolute;
            top: 186px;
            left: 224px;
        }
        .huzi2>div:nth-child(1){
            width: 60px;
            height: 2px;
            background-color: black;
            transform: rotate(165deg);
        }

        .huzi2>div:nth-child(2){
            width: 60px;
            height: 2px;
            background-color: black;
            margin-top: 20px;
            margin-bottom: 20px;
        }
        .huzi2>div:nth-child(3){
            width: 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>

原文地址:https://www.cnblogs.com/zhaohongcheng/p/10843155.html

时间: 2024-10-27 06:42:32

纯CSS制作加<div>制作动画版哆啦A梦的相关文章

用纯CSS实现加载中动画效果

HTML <div class="pswp__preloader__icn"> <div class="pswp__preloader__cut"> <div class="pswp__preloader__donut"></div> </div> </div> CSS .pswp__preloader__icn { opacity:0.75; width: 24px; he

用纯css3绘制的能自适应浏览器的哆啦a梦动画

最近在研究用css3绘制矢量图,于是就用纯css3绘制了能自适应浏览器宽度的哆啦a梦动画,兼容css3的浏览器都可以正常观看,下面只是网页截图: 废话不多说了,直接给代码. html 代码: <div class="dlam" title="用纯css3绘制的能自适应浏览器的哆啦a梦动画"> <div class="bozi"> <div class="lingdan"> <div c

纯CSS实现加载转圈样式

不同的项目中对于等待加载时转圈圈的样式是不同的,有的是传统的转圈的gif图片,见得比较多的是将转圈圈的换成了可爱的图标.有时候项目中加入等待加载的图片会很违和,不符合美观,所以需要用CSS做一个.下面是一个纯CSS实现转圈样式的例子. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport&q

web前端入门到实战:纯CSS实现加载转圈样式

不同的项目中对于等待加载时转圈圈的样式是不同的,有的是传统的转圈的gif图片,见得比较多的是将转圈圈的换成了可爱的图标.有时候项目中加入等待加载的图片会很违和,不符合美观,所以需要用CSS做一个.下面是一个纯CSS实现转圈样式的例子. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport&q

纯CSS 三角形箭头Div边框代码

<html> <head> <title>纯CSS实现 "三角箭头"代码</title> <meta http-equiv="Content-Language" content="zh-CN"/> <mce:style type="text/css"><!-- span {_overflow:hidden;} .wp {position: relat

如何用纯 CSS 创作一个均衡器 loader 动画

效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/oybWBy 可交互视频教程 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码. 请用 chrome, safari, edge 打开观看. https://scrimba.com/p/pEgDAM/cG64puy 源代码下载 本地下载 每日前端实战系列的全部源代码请从 github 下载: https://github.co

如何用纯 CSS 创作一个变色旋转动画

效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/ejZWKL 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码. 请用 chrome, safari, edge 打开观看. https://scrimba.com/p/pEgDAM/cawq6cB 源代码下载 本地下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/

前端每日实战:157# 视频演示如何用纯 CSS 创作一个棋盘错觉动画(实际上每一行都是平行的)

效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/VEyoGj 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码. 请用 chrome, safari, edge 打开观看. https://scrimba.com/p/pEgDAM/cppKmsd 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/f

Android版哆啦A梦连连看游戏源码完整版

本代码主本人编写,没版权问题,另有其他少量小游戏和应用源码稍后会陆续上线!哆啦A梦连连看包括了2种游戏模式和60关卡,并可以通过修改配置文件很方便的实现自行增加新关卡.采用andengine游戏引擎开发,内置了趣米广告和用户统计flurry支持. 1.  本源码编码规范,设计清晰,可做为游戏开发入门学习参考. 2.  可以通过轻易的通过修改包名和游戏资源,开发出多种连连看游戏并发布.  除趣米广告外,可以替换为其他广告平台,支持插屏广告,进入/退出广告和广告墙等多种广告形式. 此游戏已发布在木蚂