首页 > 代码库 > 第16章 盒模型(上)

第16章 盒模型(上)

第 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盒模型中可以设置元素内部边缘填充空白的大小,我们成为内边距。样式表如下:
属性 值 说明 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系列样式来控制它。
属性 值 说明 CSS版本
overflow-x 溢出值 设置水平方向的溢出 3
overflow-y 溢出值 设置垂直方向的溢出 3
overflow 溢出值 简写属性 2

 

溢出处理主要有四种处理值:
值 说明
auto 浏览器自行处理溢出内容。如果有溢出内容,就显示滚动条,否则就不显示滚动条。
hidden 如果有溢出的内容,直接剪掉。
scroll 不管是否溢出,都会出现滚动条。但不同平台和浏览器显示方式不同
visible 默认值,不管是否溢出,都显示内容。

//设置溢出为 auto值
div {
overflow-x: auto;
}

 

例子

 

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>CSS盒模型[上]</title>
<link rel="stylesheet" type="text/css" href="http://www.mamicode.com/style.css">
</head>
<body>

<div>我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,</div>

</body>
</html>

 

 

@charset "utf-8";

/*body {
border: 1px solid red;
}*/

div {
background: silver;
width: 200px;
height: 200px;

/* min-width: 100px;
min-height: 100px;
max-width: 300px;
max-height: 300px;*/

/*width: 60%;*/


/*width: 50%;*/

/* width: auto;
height: auto;*/


/* padding-top: 10px;
padding-bottom: 10px;
padding-left: 10px;
padding-right: 10px;*/

/*padding: 10px;*/
/*padding: 10px 20px;*/
/*padding: 10px 20px 30px;*/
/*padding: 10px 20px 30px 40px;*/

/* margin-top: 50px;
margin-left: 50px;*/

/*overflow-y: visible;*/
/*overflow-y: auto;*/
/*overflow-y: hidden;*/
overflow-y: scroll;
}

第16章 盒模型(上)