怎样用HTML和CSS做出大白

html-css016

怎样用HTML和CSS做出大白,第1张

您最好对 HTML 和 CSS 有一定的了解

HTML代码

<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 {   

    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   

}

眼睛嘴巴的CSS

#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   

}

「大白」,雏形初现

接下来是躯干和腹部CSS:

#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    

  

  rightright:-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   

}

大白的手指头css

#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   

}

「大白」腿部css

#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)   

}

完成

一、准备工作

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

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

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

二、编写 HTML

填写以下代码:

<!doctype html>

<html>

<head><meta charset="utf-8"><title>Baymax</title></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 来绘制它的样式外表。

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

然后首先是头部:

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

}

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

接下来是躯干和腹部:

#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)

}

原始处理方法是将要展示的图片进行处理。比如你的DIV宽度为500px(像素),那你上传的图片或放入网页的图片宽度就要小于500px,也就是你图片需要图片软件剪切、等比例缩小方法处理后再上传、放入网页中解决撑破撑开DIV问题。

常见很多大型图片站点、新闻站点都是将照片图片进行处理适应网页宽度情况下,进行图片编辑处理的。

二、防止图片撑开DIV方法二

如果不处理照片方法适应DIV有限宽度,那可以对DIV设置隐藏超出内容方法。只需要对DIV设置宽度后加入CSS样式“overflow:hidden”即可解决隐藏图片比DIV过宽部分解决撑破DIV问题。

三、解决方法三

对图片img标签中只加入宽度即可解决。这样可以等比例缩小图片,不会影响图片画面质量。

比如你的网页DIV宽度为500px,那你上传图片后对img标签设置width等于500以下即可。

即可解决图片过宽导致DIV SPAN撑破,这样好处可以等比例放大缩小图片。

四、CSS解决撑破方法四

这种方法使用CSS直接对div内的img进行宽度设置,这样不好是如果图片过小会影响网页浏览图片时候效果。