第 16 章 CSS 盒模型[上]

学习要点:

1.元素尺寸

2.元素内边距

3.元素外边距

4.处理溢出

主讲教师:李炎恢

本章主要探讨 HTML5 中 CSS 盒模型,学习怎样了解元素的外观配置以及文档的整体布局。

一.元素尺寸

CSS 盒模型中最基础的就是设置一个元素的尺寸大小。有三组样式来配置一个元素的尺寸大小,样式表如下

属性 说明 CSS 版本
width auto、长度值或百分比 设置元素的宽度 1
height auto、长度值或百分比 设置元素的高度 1
min-width auto、长度值或百分比 设置元素最小宽度 2
min-height auto、长度值或百分比 设置元素最小高度 2
max-width auto、长度值或百分比 设置元素最大宽度 2
max-height auto、长度值或百分比 设置元素最大高度 2

//设置元素尺寸

div { width: 200px; height: 200px;
}

解释:设置元素的固定尺寸。

//限制元素尺寸

div { min-width: 100px; min-height: 100px; max-width: 300px; max-height: 300px;
}

解释:这一组主要是应对可能动态产生元素尺寸变大变小的问题,从而限制它最大和最小的值。

//auto 自适应

div { width: auto; height: auto;
}

解释:auto 是默认值,width 在 auto 下是 100%的值;height 在 auto 下是自适应。

//百分比方式

#a { background: silver; width: 200px; height: 200px;
} #b { background: gray; width: 80%; height: 80%;
}
<div id="a">
    <div id="b"> 我是 html5 </div>
</div>

解释:百分比就是相对于父元素长度来衡定的。

二.元素内边距

CSS 盒模型中可以设置元素内部边缘填充空白的大小,我们成为内边距。样式表如下:

属性 说明 CSS 版本
padding-top 长度值或百分比 设置顶部内边距 1
padding-bottom 长度值或百分比 设置底部内边距 1
padding-left 长度值或百分比 设置左边内边距 1
padding-right 长度值或百分比 设置右边内边距 1
padding 1 ~ 4 个长度值或百分比 简写属性 1

//设置四个内边距

div { padding-top: 10px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px;
}

//简写形式,分别为上 10px、右 10px、下 10px、左 10px

div { padding: 10px 10px 10px 10px;
}

//简写形式,分别为上 10px,左右 50px,下 200px

div { padding: 10px 50px 200px;
}

//简写形式,分别是上下 10px,左右 20px

div { padding: 10px 20px;
}

//简写形式:上下左右均 10px

div { padding: 10px;
}

三.元素外边距

CSS 盒模型中可以设置元素外部边缘填充空白的大小,我们成为外边距。样式表如下:

属性 说明 CSS 版本
margin-top 长度值或百分比 设置顶部内边距 1
margin-bottom 长度值或百分比 设置底部内边距 1
margin-left 长度值或百分比 设置左边内边距 1
margin-right 长度值或百分比 设置右边内边距 1
margin 1 ~ 4 长度值或百分比 简写属性 1

//设置四个内边距

div { margin-top: 10px; margin-bottom: 10px; margin-left: 10px; margin-right: 10px;
}

//简写形式,分别为上 10px、右 10px、下 10px、左 10px

div { margin: 10px 10px 10px 10px;
}

//简写形式,分别为上 10px,左右 50px,下 200px

div { margin: 10px 50px 200px;
}

//简写形式,分别是上下 10px,左边 20px

div { margin: 10px 20px;
}

//简写形式:上下左右均 10px

div { margin: 10px;
}

四.处理溢出

当设置了元素固定尺寸且内容过大时,就会出现溢出的问题。溢出主要朝两个方向:右侧和底部。我们可以通过 overflow 系列样式来控制它。

溢出处理主要有四种处理值:

//设置溢出为 auto 值

div { overflow-x: auto;
}