用HTML和CSS打造属于自己的暖男“大白”
author:一佰互联 2019-04-20   click:186

最终的成果是这样滴,是不是萌萌哒……

PS:您最好对 HTML 和 CSS 有一定的了解,但如果你是小白也没关系,小白见「大白」也是可以的!

一、准备工作

进入到 /home/shiyanlou/ 目录下,新建空白文档:

命名为 Baymax.html (其它名字也可以,但后缀名必须是 .html):

使用 gedit 打开,准备编辑代码:

二、编写 HTML

填写以下代码:

XML/HTML Code复制内容到剪贴板
  1. <!doctype html>  
  2. <html>  
  3.    <head><meta charset="utf-8"><title>Baymax</title></head>  
  4. <body>  
  5.   
  6.      <div id="baymax">  
  7.   
  8.         <!-- 定义头部,包括两个眼睛、嘴 -->  
  9.         <div id="head">  
  10.             <div id="eye"></div>  
  11.             <div id="eye2"></div>  
  12.             <div id="mouth"></div>  
  13.         </div>  
  14.   
  15.         <!-- 定义躯干,包括心脏 -->  
  16.         <div id="torso">  
  17.             <div id="heart"></div>  
  18.         </div>  
  19.   
  20.         <!-- 定义肚子腹部,包括 cover(和躯干的连接处) -->  
  21.         <div id="belly">  
  22.             <div id="cover"></div>  
  23.         </div>  
  24.   
  25.         <!-- 定义左臂,包括一大一小两个手指 -->  
  26.         <div id="left-arm">  
  27.             <div id="l-bigfinger"></div>  
  28.             <div id="l-smallfinger"></div>  
  29.         </div>  
  30.   
  31.         <!-- 定义右臂,同样包括一大一小两个手指 -->  
  32.         <div id="right-arm">  
  33.             <div id="r-bigfinger"></div>  
  34.             <div id="r-smallfinger"></div>  
  35.         </div>  
  36.   
  37.         <!-- 定义左腿 -->  
  38.         <div id="left-leg"></div>  
  39.   
  40.         <!-- 定义右腿 -->  
  41.         <div id="right-leg"></div>  
  42.   
  43.     </div>  
  44. </body>  
  45. <html>  
  46.   

三、添加 CSS 样式

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

由于「大白」是白色的,为了更容易辨识,我们把背景设为深色。

然后首先是头部:

CSS Code复制内容到剪贴板
  1. body {   
  2.     background#595959;   
  3. }   
  4.   
  5. #baymax{   
  6.     /*设置为 居中*/       
  7.     margin: 0 auto;   
  8.   
  9.     /*高度*/      
  10.     height600px;   
  11.   
  12.     /*隐藏溢出*/       
  13.     overflowhidden;   
  14. }   
  15.   
  16. #head{   
  17.     height64px;   
  18.     width100px;   
  19.   
  20.     /*以百分比定义圆角的形状*/       
  21.     border-radius: 50%;   
  22.   
  23.     /*背景*/       
  24.     background#fff;   
  25.     margin: 0 auto;   
  26.     margin-bottom: -20px;   
  27.   
  28.     /*设置下边框的样式*/       
  29.     border-bottom5px solid #e0e0e0;   
  30.   
  31.     /*属性设置元素的堆叠顺序;    拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面*/       
  32.     z-index: 100;   
  33.   
  34.     /*生成相对定位的元素*/       
  35.     positionrelative;   
  36. }   
  37.   

效果预览:

赶紧再来添加眼睛和嘴吧!

CSS Code复制内容到剪贴板
  1. #eye,   
  2. #eye2{   
  3.     width11px;   
  4.     height13px;   
  5.     background#282828;   
  6.     border-radius: 50%;   
  7.     positionrelative;   
  8.     top30px;   
  9.     left27px;   
  10.   
  11.     /*旋转该元素*/       
  12.     transform: rotate(8deg);   
  13. }   
  14.   
  15. #eye2{   
  16.     /*使其旋转对称*/       
  17.     transform: rotate(-8deg);   
  18.     left69px;    top17px;   
  19. }   
  20.   
  21. #mouth{   
  22.     width38px;   
  23.     height: 1.5px;   
  24.     background#282828;   
  25.     positionrelative;   
  26.     left34px;   
  27.     top10px;   
  28. }   
  29.   

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

接下来是躯干和腹部:

CSS Code复制内容到剪贴板
  1. #torso,   
  2. #belly{   
  3.     margin: 0 auto;   
  4.     height200px;   
  5.     width180px;   
  6.     background#fff;   
  7.     border-radius: 47%;   
  8.   
  9.     /*设置边框*/       
  10.     border5px solid #e0e0e0;   
  11.     border-topnone;   
  12.     z-index: 1;   
  13. }   
  14.   
  15. #belly{   
  16.     height300px;   
  17.     width245px;   
  18.     margin-top: -140px;   
  19.     z-index: 5;   
  20. }   
  21.   
  22. #cover{   
  23.     width190px;   
  24.     background#fff;   
  25.     height150px;   
  26.     margin: 0 auto;   
  27.     positionrelative;   
  28.     top: -20px;   
  29.     border-radius: 50%;   
  30. }   
  31.   

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

CSS Code复制内容到剪贴板
  1. #heart{     
  2.   width:25px;    
  3.   height:25px;    
  4.   border-radius:50%;    
  5.   position:relative;    
  6.   
  7.   /*向边框四周添加阴影效果*/  
  8.   box-shadow:2px 5px 2px #ccc inset;    
  9.   
  10.   rightright:-115px;    
  11.   top:40px;    
  12.   z-index:111;    
  13.   border:1px solid #ccc;   
  14. }   
  15.   

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

还没有手和脚,怪萌怪萌的...「大白」需要温暖的手臂:

CSS Code复制内容到剪贴板
  1. #left-arm,   
  2. #right-arm{   
  3.     height270px;   
  4.     width120px;   
  5.     border-radius: 50%;   
  6.     background#fff;   
  7.     margin: 0 auto;   
  8.     positionrelative;   
  9.     top: -350px;   
  10.     left: -100px;   
  11.     transform: rotate(20deg);   
  12.     z-index: -1;   
  13. }   
  14.   
  15. #right-arm{   
  16.     transform: rotate(-20deg);   
  17.     left100px;   
  18.     top: -620px;   
  19. }   
  20.   

还没有手指头呢:

CSS Code复制内容到剪贴板
  1. #l-bigfinger,   
  2. #r-bigfinger{   
  3.     height50px;   
  4.     width20px;   
  5.     border-radius: 50%;   
  6.     background#fff;   
  7.     positionrelative;   
  8.     top250px;   
  9.     left50px;   
  10.     transform: rotate(-50deg);   
  11. }   
  12.   
  13. #r-bigfinger{   
  14.     left50px;   
  15.     transform: rotate(50deg);   
  16. }   
  17.   
  18. #l-smallfinger,   
  19. #r-smallfinger{   
  20.     height35px;   
  21.     width15px;   
  22.     border-radius: 50%;   
  23.     background#fff;   
  24.     positionrelative;   
  25.     top195px;   
  26.     left66px;   
  27.     transform: rotate(-40deg);   
  28. }   
  29.   
  30. #r-smallfinger{   
  31.     background#fff;   
  32.     transform: rotate(40deg);   
  33.     top195px;   
  34.     left37px;   
  35. }   
  36.   

有点意思了:

迫不及待要给「大白」加上腿了吧:

CSS Code复制内容到剪贴板
  1. #left-leg,   
  2. #right-leg{   
  3.     height170px;   
  4.     width90px;   
  5.     border-radius: 40% 30% 10px 45%;   
  6.     background#fff;   
  7.     positionrelative;   
  8.     top: -640px;   
  9.     left: -45px;   
  10.     transform: rotate(-1deg);   
  11.     z-index: -2;   
  12.     margin: 0 auto;   
  13. }   
  14.   
  15. #right-leg{   
  16.     background#fff;   
  17.     border-radius:30% 40% 45% 10px;   
  18.     margin: 0 auto;   
  19.     top: -810px;   
  20.     left50px;   
  21.     transform: rotate(1deg);   
  22. }   
  23.   

duang~ duang~ duang~ 特技完成!

属于你的暖男大白来到了你的身边,是不是特有安全感哦!