ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【计理06组02号】打造网页版「大白」- Baymax

2022-02-27 08:00:21  阅读:135  来源: 互联网

标签:02 计理 top height Baymax width background border left


编写HTML

首先我们通过 div 定义大白身体的各个部位,就像写一个网页的框架一样,我们将大白身体的各部位都用 div 来给出定义:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Baymax</title>
    <!-- <style>大白的 css 样式代码在此处编写</style> -->
  </head>

  <body>
    <div id="baymax">
      <!-- 定义头部,包括两个眼睛、嘴 -->
      <div id="head">
        <div id="eye"></div>
        <div id="eye2"></div>
        <div id="mouth"></div>
      </div>

      <!-- 定义躯干,包括心脏 -->
      <div id="torso">
        <div id="heart"></div>
      </div>

      <!-- 定义肚子腹部,包括 cover(和躯干的连接处) -->
      <div id="belly">
        <div id="cover"></div>
      </div>

      <!-- 定义左臂,包括一大一小两个手指 -->
      <div id="left-arm">
        <div id="l-bigfinger"></div>
        <div id="l-smallfinger"></div>
      </div>

      <!-- 定义右臂,同样包括一大一小两个手指 -->
      <div id="right-arm">
        <div id="r-bigfinger"></div>
        <div id="r-smallfinger"></div>
      </div>

      <!-- 定义左腿 -->
      <div id="left-leg"></div>

      <!-- 定义右腿 -->
      <div id="right-leg"></div>
    </div>
  </body>
</html>

添加CSS样式

我们已经使用 HTML 定义好了「大白」的各个部位,现在就需要利用 CSS 来绘制它的样式外表。

由于「大白」是白色的,为了更容易辨识,我们把背景设为深色。然后首先是头部(head):

<style>
  body {
    background: #595959;
  }

  #baymax {
    /*设置为 居中*/
    margin: 0 auto;

    /*高度*/
    height: 600px;

    /*隐藏溢出*/
    overflow: hidden;
  }

  #head {
    height: 64px;
    width: 100px;

    /*以百分比定义圆角的形状*/
    border-radius: 50%;

    /*背景*/
    background: #fff;

    margin: 0 auto;
    margin-bottom: -20px;

    /*设置下边框的样式*/
    border-bottom: 5px solid #e0e0e0;

    /*属性设置元素的堆叠顺序;
    拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面*/
    z-index: 100;

    /*生成相对定位的元素*/
    position: relative;
  }
</style>

效果预览:

赶紧再来添加眼睛和嘴吧(eye eye2 mouth)!

#eye,
#eye2 {
  width: 11px;
  height: 13px;
  background: #282828;
  border-radius: 50%;
  position: relative;
  top: 30px;
  left: 27px;

  /*旋转该元素*/
  transform: rotate(8deg);
}

#eye2 {
  /*使其旋转对称*/
  transform: rotate(-8deg);
  left: 69px;
  top: 17px;
}

#mouth {
  width: 38px;
  height: 1.5px;
  background: #282828;
  position: relative;
  left: 34px;
  top: 10px;
}

一个 mini 的「大白」,雏形初现:

接下来是躯干和腹部(torso belly cover):

#torso,
#belly {
  margin: 0 auto;
  height: 200px;
  width: 180px;
  background: #fff;
  border-radius: 47%;

  /*设置边框*/
  border: 5px solid #e0e0e0;
  border-top: none;
  z-index: 1;
}

#belly {
  height: 300px;
  width: 245px;
  margin-top: -140px;
  z-index: 5;
}

#cover {
  width: 190px;
  background: #fff;
  height: 150px;
  margin: 0 auto;
  position: relative;
  top: -20px;
  border-radius: 50%;
}

赋予「大白」象征生命的心脏(heart):

#heart {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  position: relative;

  /*向边框四周添加阴影效果*/
  box-shadow: 2px 5px 2px #ccc inset;

  right: -115px;
  top: 40px;
  z-index: 111;
  border: 1px solid #ccc;
}

现在的「大白」是这个样子的了:

还没有手和脚,怪萌怪萌的...「大白」需要温暖的手臂(left-arm right-arm):

#left-arm,
#right-arm {
  height: 270px;
  width: 120px;
  border-radius: 50%;
  background: #fff;
  margin: 0 auto;
  position: relative;
  top: -350px;
  left: -100px;
  transform: rotate(20deg);
  z-index: -1;
}

#right-arm {
  transform: rotate(-20deg);
  left: 100px;
  top: -620px;
}

还没有手指头呢(l-bigfinger r-bigfinger l-smallfinger r-smallfinger):

#l-bigfinger,
#r-bigfinger {
  height: 50px;
  width: 20px;
  border-radius: 50%;
  background: #fff;
  position: relative;
  top: 250px;
  left: 50px;
  transform: rotate(-50deg);
}

#r-bigfinger {
  left: 50px;
  transform: rotate(50deg);
}

#l-smallfinger,
#r-smallfinger {
  height: 35px;
  width: 15px;
  border-radius: 50%;
  background: #fff;
  position: relative;
  top: 195px;
  left: 66px;
  transform: rotate(-40deg);
}

#r-smallfinger {
  background: #fff;
  transform: rotate(40deg);
  top: 195px;
  left: 37px;
}

有点意思了:

迫不及待要给「大白」加上腿了吧(left-leg right-leg):

#left-leg,
#right-leg {
  height: 170px;
  width: 90px;
  border-radius: 40% 30% 10px 45%;
  background: #fff;
  position: relative;
  top: -640px;
  left: -45px;
  transform: rotate(-1deg);
  z-index: -2;
  margin: 0 auto;
}

#right-leg {
  background: #fff;
  border-radius: 30% 40% 45% 10px;
  margin: 0 auto;
  top: -810px;
  left: 50px;
  transform: rotate(1deg);
}

duang~ duang~ duang~ 特技完成!

完整代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Baymax</title>

    <style>
      body {
        background: #595959;
      }

      #baymax {
        /*设置为 居中*/
        margin: 0 auto;

        /*高度*/
        height: 600px;

        /*隐藏溢出*/
        overflow: hidden;
      }

      #head {
        height: 64px;
        width: 100px;

        /*以百分比定义圆角的形状*/
        border-radius: 50%;

        /*背景*/
        background: #fff;
        margin: 0 auto;
        margin-bottom: -20px;

        /*设置下边框的样式*/
        border-bottom: 5px solid #e0e0e0;

        /*属性设置元素的堆叠顺序;
    拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面*/
        z-index: 100;

        /*生成相对定位的元素*/
        position: relative;
      }

      #eye,
      #eye2 {
        width: 11px;
        height: 13px;
        background: #282828;
        border-radius: 50%;
        position: relative;
        top: 30px;
        left: 27px;

        /*旋转该元素*/
        transform: rotate(8deg);
      }

      #eye2 {
        /*使其旋转对称*/
        transform: rotate(-8deg);
        left: 69px;
        top: 17px;
      }

      #mouth {
        width: 38px;
        height: 1.5px;
        background: #282828;
        position: relative;
        left: 34px;
        top: 10px;
      }

      #torso,
      #belly {
        margin: 0 auto;
        height: 200px;
        width: 180px;
        background: #fff;
        border-radius: 47%;

        /*设置边框*/
        border: 5px solid #e0e0e0;
        border-top: none;
        z-index: 1;
      }

      #belly {
        height: 300px;
        width: 245px;
        margin-top: -140px;
        z-index: 5;
      }

      #cover {
        width: 190px;
        background: #fff;
        height: 150px;
        margin: 0 auto;
        position: relative;
        top: -20px;
        border-radius: 50%;
      }

      #heart {
        width: 25px;
        height: 25px;
        border-radius: 50%;
        position: relative;

        /*向边框四周添加阴影效果*/
        box-shadow: 2px 5px 2px #ccc inset;

        right: -115px;
        top: 40px;
        z-index: 111;
        border: 1px solid #ccc;
      }

      #left-arm,
      #right-arm {
        height: 270px;
        width: 120px;
        border-radius: 50%;
        background: #fff;
        margin: 0 auto;
        position: relative;
        top: -350px;
        left: -100px;
        transform: rotate(20deg);
        z-index: -1;
      }

      #right-arm {
        transform: rotate(-20deg);
        left: 100px;
        top: -620px;
      }

      #l-bigfinger,
      #r-bigfinger {
        height: 50px;
        width: 20px;
        border-radius: 50%;
        background: #fff;
        position: relative;
        top: 250px;
        left: 50px;
        transform: rotate(-50deg);
      }

      #r-bigfinger {
        left: 50px;
        transform: rotate(50deg);
      }

      #l-smallfinger,
      #r-smallfinger {
        height: 35px;
        width: 15px;
        border-radius: 50%;
        background: #fff;
        position: relative;
        top: 195px;
        left: 66px;
        transform: rotate(-40deg);
      }

      #r-smallfinger {
        background: #fff;
        transform: rotate(40deg);
        top: 195px;
        left: 37px;
      }

      #left-leg,
      #right-leg {
        height: 170px;
        width: 90px;
        border-radius: 40% 30% 10px 45%;
        background: #fff;
        position: relative;
        top: -640px;
        left: -45px;
        transform: rotate(-1deg);
        z-index: -2;
        margin: 0 auto;
      }

      #right-leg {
        background: #fff;
        border-radius: 30% 40% 45% 10px;
        margin: 0 auto;
        top: -810px;
        left: 50px;
        transform: rotate(1deg);
      }
    </style>
  </head>

  <body>
    <div id="baymax">
      <!-- 定义头部,包括两个眼睛、嘴 -->
      <div id="head">
        <div id="eye"></div>
        <div id="eye2"></div>
        <div id="mouth"></div>
      </div>

      <!-- 定义躯干,包括心脏 -->
      <div id="torso">
        <div id="heart"></div>
      </div>

      <!-- 定义肚子腹部,包括 cover(和躯干的连接处) -->
      <div id="belly">
        <div id="cover"></div>
      </div>

      <!-- 定义左臂,包括一大一小两个手指 -->
      <div id="left-arm">
        <div id="l-bigfinger"></div>
        <div id="l-smallfinger"></div>
      </div>

      <!-- 定义右臂,同样包括一大一小两个手指 -->
      <div id="right-arm">
        <div id="r-bigfinger"></div>
        <div id="r-smallfinger"></div>
      </div>

      <!-- 定义左腿 -->
      <div id="left-leg"></div>

      <!-- 定义右腿 -->
      <div id="right-leg"></div>
    </div>
  </body>
</html>

标签:02,计理,top,height,Baymax,width,background,border,left
来源: https://www.cnblogs.com/yyyyfly1/p/15941434.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有