首页 > 代码库 > 第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章 盒模型(上)