所有元素都可以看成一个盒子,占据一定的页面空间。
盒子模型组成:
内容区
中心,主要信息内容,文本、图片等多种类型,必要组成部分,其他3部分可选。
内容区3个属性:width、height和overflow。内容过多,超出width和height时,overflow指定溢出处理方式。
内边距
内容区和边框之间的空间,内容区的背景区域。
内边距5个属性:padding-top、padding-bottom、padding-left、padding-right和padding。
外边距
外边距从边框往外开始计算。
两个盒子之间的距离,父子元素或兄弟元素。
外边距5个属性:margin-top、margin-bottom、margin-left、margin-right和margin。
外边距为负值时,盒子向指定负值的相反方向移动,产生重叠效果。
边框
边框从内边距开始往外计算。
边框4个属性:border-width、border-style、border-color和border。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
div
{
display:inline-block; /*将块元素转换为inline-block元素*/
padding:20px;
margin:40px;
border:2px solid red;
background-color:#FFDEAD;
}
</style>
</head>
<body>
<div>绿叶学习网</div>
</body>
</html>
宽高针对内容区而言。
width:像素值;
height:像素值;
块元素才能设置width和height,行内元素无法设置width和height。(忽略inline-block元素)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
div,span
{
width:100px;
height:50px;
}
div{border:1px solid red;} /*块元素*/
span{border:1px solid blue;}/*行内元素*/
</style>
</head>
<body>
<div></div>
<span></span>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
#div1
{
width:100px;//不设置width时,块元素width为浏览器宽度
height:40px;//不设置height时,块元素height为实际内容高度
border:1px solid red;
}
#div2
{
width:100px;
height:80px;
border:1px solid blue;
}
</style>
</head>
<body>
<div id="div1">绿叶学习网</div>
<div id="div2">绿叶学习网</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
#span1
{
width:100px;//行内元素宽高无效,有内容区实际内容决定宽高
height:40px;//display属性可实现块元素和行内元素的互相转换
border:1px solid red;
}
#span2
{
width:100px;
height:80px;
border:1px solid blue;
}
</style>
</head>
<body>
<span id="span1">绿叶学习网</span>
<span id="span2">绿叶学习网</span>
</body>
</html>
border:1px solid red;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
div
{
width:100px;
height:80px;
border: 2px dashed red;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
补白,内容区到边框的部分。
padding-top:像素值;
padding-bottom:像素值;
padding-left:像素值;
padding-right:像素值;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
div
{
display:inline-block; /*将块元素转换为inline-block元素*/
padding-top:20px;
padding-right:40px;
padding-bottom:60px;
padding-left:80px;
border:2px solid red;
background-color:#FFDEAD;
}
</style>
</head>
<body>
<div>绿叶学习网</div>
</body>
</html>
padding:像素值;
padding:像素值1 像素值2;
padding:像素值1 像素值2 像素值3 像素值4;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
div
{
display:inline-block; /*将块元素转换为inline-block元素*/
padding:40px 80px;
margin:40px;
border:2px solid red;
background-color:#FFDEAD;
}
</style>
</head>
<body>
<div>绿叶学习网</div>
</body>
</html>
父元素或兄弟元素之间部分,外边距在边框外部。
margin-top:像素值;
margin-bottom:像素值;
margin-left:像素值;
margin-right:像素值;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
div
{
display:inline-block; /*将块元素转换为inline-block元素*/
padding:20px;
margin-top:20px;
margin-right:40px;
margin-bottom:60px;
margin-left:80px;
border:1px solid red;
background-color:#FFDEAD;
}
</style>
</head>
<body>
<div>绿叶学习网</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
#father
{
display: inline-block; /*将块元素转换为inline-block元素*/
border:60px solid blue;
}
#son
{
display:inline-block; /*将块元素转换为inline-block元素*/
padding:20px;
margin-top:20px;/*外边距相对父元素边框内侧距离*/
margin-right:40px;
margin-bottom:60px;
margin-left:80px;
border:1px solid red;
background-color:#FFDEAD;
}
</style>
</head>
<body>
<div id="father">
<div id="son">绿叶学习网</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
#father
{
display: inline-block; /*将块元素转换为inline-block元素*/
border:60px solid blue;
}
#son
{
display:inline-block; /*将块元素转换为inline-block元素*/
padding:20px;
margin-top:20px;/*查看元素四个方向*/
margin-right:40px;/*某个方向有兄弟元素,margin相对兄弟元素边框外侧而言*/
margin-bottom:60px;/*某个方向无兄弟元素,margin相对父元素边框内侧而言*/
margin-left:80px;
border:1px solid red;
background-color:#FFDEAD;
}
.brother
{
height:50px;
border:30px solid red;
background-color:lightskyblue;
}
</style>
</head>
<body>
<div id="father">
<div class="brother"></div>
<div id="son">绿叶学习网</div>
<div class="brother"></div>
</div>
</body>
</html>
margin:像素值;
margin:像素值1 像素值2;
margin:像素值1 像素值2 像素值3 像素值4;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
div
{
display:inline-block; /*将块元素转换为inline-block元素*/
padding:20px;
margin:40px 80px;
border:1px solid red;
background-color:#FFDEAD;
}
</style>
</head>
<body>
<div>绿叶学习网</div>
</body>
</html>
鼠标右击元素,选择“检查”,弹出控制台找到元素的盒子模型。