html打造动画【系列4】- 哆啦a梦

本文介绍如何使用HTML和CSS创建哆啦A梦的动画,包括定义哆啦A梦的容器,画头部(眼睛、鼻子),并实现动态效果,如鼠标悬停时的眼睛、脸部表情和铃铛的变化。
摘要由CSDN通过智能技术生成

我相信每个人的童年都有一个哆啦a梦,一个小小的肚皮里装满了不可思议的哆啦a梦,一个在你无助伤心的时候陪在你身边的哆啦a梦,一个陪你胡思乱想陪你吃铜锣烧的哆啦a梦~今天我们就来画一个我们心中的哆啦a梦吧~


哆啦a梦.png
定义哆啦a梦的容器
  • 千篇一律先定义一个画哆啦a梦的大容器,确定它的大小和位置。
    <!-- 哆啦A梦大容器 -->
    <div class="doa"></div>
    /*哆啦A梦*/
      .doa{position: relative;top: 100px;}
画哆啦a梦的头部(包括脸,脸部包括眼睛和鼻子)
  • 头部包含好几块部分:哆啦a梦的脸部和鼻子,脸部又包括两只眼睛,两只眼睛里面还有眼珠和眼白部分,所以会有好几层的dom嵌套,当然基本图形都是由div+border-radius拼凑而成。
  • 将画好的各个部位品拼凑到相应的位置上即可。
  • 看我前面画的几个图画就知道border-radius是一个非常常用的属性,几乎div的每一次变形都离不开它,其实border-radius的真面目应该是border-radius: 300px 300px 300px 300px/300px 300px 300px 300px;酱紫的,我们一般不写斜杠后面的内容,斜杠切面是水平长度,斜杠后面是垂直高度,前杠后面默认不写就是水平和垂直大小是一样的。我知道我这样说不够详细,可以参考我鑫神的博客秋月何时了,CSS3 border-radius知多少?,保证你分分钟在老司机的带领下彻底弄懂border-radius,还不快上车?
    <!-- 头 -->    
      <div class="head">
      <!-- 存放脸部的容器 -->
          <div class="face">
          <!-- 左眼大圈儿 -->
              <div>
              <!-- 左眼眼珠(黑色部分) -->
                  <div>
                  <!-- 左眼眼白,黑色里面的白色部分 -->
                      <div></div>
                  </div>
              </div>
          <!-- 右眼大圈儿 -->
              <div>
              <!--右眼眼珠(黑色部分) -->
                  <div>
                  <!-- 右眼眼白,黑色里面的白色部分 -->
                      <div></div>
                  </div>
              </div>
          </div>
          <!-- 红鼻子部分 -->
          <div class="nose">
          <!-- 红鼻子里面的白圈儿 -->
              <div></div>
          </div>
          <!-- 红鼻子下面的那根黑线,也属于鼻子部分  -->
          <div class="nose1"></div>
      </div>
    .head{
          margin: 0 auto;   /*头部定义大小并居中显示*/
          width: 400px;
          height: 350px;
          background: #008ee3;  /*头部定义背景颜色*/
          position: relative;
          border-radius: 50% 50% 25% 25% / 55% 55% 45% 45%;  /*头部定义四个方向圆角大小*/
      }
      .face{
          width: 310px;   /*脸部定义大小*/
          height: 260px;
          background: snow;   /*脸部定义背景颜色*/
          border-radius: 50% 50% 25% 25% / 55% 55% 45% 45%;  /*脸部定义四个方向的圆角大小*/
          position: relative;    /*脸部定义位置,是相对于head的位置*/
          top: 90px; 
          left: 45px;
      }
      /*左眼眶*/
      .face>div:first-child{
          width: 80px;    /*左眼框定义大小*/
          height: 100px;
          border-radius: 50%;   /*左眼框定义与圆角大小*/
          border:2px #000 solid;     /*定义外边框*/
          background: snow;
          float: left;   /*为了使左右两个眼睛能在一排显示*/
          position: relative;   /*位置是相对于face的位置*/
          top:-40px;
          left: 71px;
          z-index: 50;
      }
      /*右眼眶,画法跟左眼一样*/
      .face>div:last-child{
          width: 80px;
          height: 100px;
          border-radius: 50%;
          border:2px #000 solid;
          background: snow;
          float: left;
          position: relative;
          top:-40px;
          left: 71px;
          z-index: 50;
      }
      
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值