用HTML和CSS打造属于自己的暖男“大白”

所属分类: 网页制作 / HTML/Xhtml 阅读数: 797
收藏 0 赞 0 分享

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

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~ 特技完成!

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

更多精彩内容其他人还在看

Table相关整理及Javascript操作table,tr,td

很多人都有这种经历:当某个td中没有内容或者没有可见元素时,td的border也会消失。本文将给出解决方案,感兴趣的朋友可以了解下,或许本文对你有所帮助
收藏 0 赞 0 分享

td 内容自动换行 table表格td设置宽度后文字太多自动换行

table表格td设置宽度后文字太多导致自动换行,这是一个很常见的问题,或许很多的网友已经有了好的解决方法,如果依然有童鞋们不会的,可以参考下本文,可能会有意外的收获
收藏 0 赞 0 分享

html4和html5区别之如何在一个input上添加焦点实现代码

如何在一个input上添加焦点,有很多的实现方法,本文分别用html4和html5做了下演示,感兴趣的朋友可以参考下,或许本文对你有所帮助
收藏 0 赞 0 分享

纯css为select添加样式(无脚本)实现

改变select默认的样式,一般情路情况下通过ul,li来模拟来实现;Jquery插件也是这样,接下来介绍一种不写脚本,只用单纯的css来实现。在IE系列下,选中某个选项的时候会有背景色块,IE7-IE10都有此bug,感兴趣的朋友可以参考下啊
收藏 0 赞 0 分享

iframe的src赋值问题(服务器端)

frame的src赋值的问题,本文将进行详细探讨:服务器端的iframe重新src重新赋值,给iframe加一个ID,再加上runat=server,感兴趣的你可不要错过了哈
收藏 0 赞 0 分享

iframe的src设置为about:blank之后细节探讨

不设置为about:blank,内存不会释放掉。还必须用 iframe.document.write(''); 这样才能将内容清空,本文将详细探讨一下iframe的src设置为about:blank之后细节,感兴趣的你可不要错过了哈
收藏 0 赞 0 分享

无法定义IE6字体:13px大小无效,IE6自动显示更大的字体的解决方法

前些天调整网页一个模块的时候将页面字体的大小设置为13px大小了,由于当时用的是Chrome浏览器以及IE8,并没有发现原来font-size:13px在IE6下居然不听使唤总是自动显示为一个更大的大小,变现上又及其难看
收藏 0 赞 0 分享

为何html中嵌入mp4格式视频播放不了

只是在页面中加载了一个播放器的样子,各个按钮都不管用,不知道是哪个地方出了问题,很是郁闷,于是搜集整理下,拿出来和大家分享,希望可以帮助你们
收藏 0 赞 0 分享

如何把select下拉框的值传到id中实现代码

把select下拉框的值传到id中,是网友们比较在意的问题,本人搜索整理下,晒出来和大家分享
收藏 0 赞 0 分享

怎么把select下拉菜单里的文字设置成左右滚动效果

希望用marquee标签来设置字体滚动,代码是下面这样写的,但是没有效果,字体还是不会滚动,应该怎么来写,才会实现这个效果呢
收藏 0 赞 0 分享
查看更多