盒模型的组成
(1)width 宽
(2)height 高
(3)boder 边框
(4)padding 内边距
(5)margin 外边距
书写元素的区域
区域:width+height区域内
盒子可实体化区域
区域:width +height +border +padding
盒子实际占位的区域
区域:width +height +padding +border+margin
宽度width
作用:设置可以添加元素内容的区域的宽度
属性值:
(1)px 像素
(2)% 设置为父元素宽度的百分之多少
(3)auto 采用默认值,浏览器会计算出实际的宽度
注意:
(1)如果一个元素不设置宽度,那么该元素width为auto
(2)如果是块级元素,例如div这种,独占一行的元素,auto时,会是父级元素宽度100%
(3)如果是行内元素,例如span auto时,会根据元素内部的内容决定其宽度
(4)body的宽度是随浏览器窗口大小的改变而改变的
高度height
作用:设置可以添加元素内容的区域的高度
属性值:
(1)px 像素
(2)% 设置为父元素高度的百分之多少
(3)auto 采用默认值,浏览器会计算出实际的高度
注意:
(1)如果一个元素不设置高度,那么该元素height为auto
(2)元素的高度自适应元素内部内容的高度
内边距 padding
作用:设置元素内容的边框内部到内容宽度 高度之间的距离
特点:可以去加载背景,不能书写嵌套的内容
属性值:
(1)常用px为单位的数值
注意:
(1)padding 是一个复合属性,可以设置左右上下四个内边距
(2)根据不同的需求,书写方式有所差异
上下左右分别设置:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 300px;
height: 300px;
background-color: #ccc;
padding-left: 10px;
padding-right: 20px;
padding-top: 30px;
padding-bottom: 40px;
}
</style>
</head>
<body>
<div class="box">这是一个div盒子</div>
</body>
</html>
4个值:上右下左 顺时针
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 300px;
height: 300px;
background-color: #ccc;
padding: 10px 20px 30px 40px;
}
</style>
</head>
<body>
<div class="box">这是一个div盒子</div>
</body>
</html>
3个值: 上 左右 下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 300px;
height: 300px;
background-color: #ccc;
padding: 10px 30px 40px;
}
</style>
</head>
<body>
<div class="box">这是一个div盒子</div>
</body>
</html>
2个值: 上下 左右
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 300px;
height: 300px;
background-color: #ccc;
padding: 10px 40px;
}
</style>
</head>
<body>
<div class="box">这是一个div盒子</div>
</body>
</html>
1个值: 上下左右
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 300px;
height: 300px;
background-color: #ccc;
padding: 50px;
}
</style>
</head>
<body>
<div class="box">这是一个div盒子</div>
</body>
</html>
边框border
作用:设置的是内边距外面的边界区域,作为盒子实体化的最外层
属性值:边框线宽度 线的形状 线的颜色
注意:border是一个复合属性 根据需求有不同的写法
根据宽度 颜色 形状分开写:
border-width: 1px 2px 3px 4px;
border-style:solid dashed dotted solid;
border-color: red green blue yellow;
根据方向不同:
border-top: 1px solid #ccc;
border-right: 2px dashed #fff;
border-bottom: 3px datted #eee;
border-left: 4px solid #909001
再细分:
border-方向-类型
border-top -style: dashed;
外边距margin
作用:设置的是盒子与盒子之间的距离
特点:不能渲染背景
属性值:常用px为单位的数值
外边距的设置方式与padding一模一样