目录
- 盒子模型概念
- 高和宽设置
- 边框设置
- 内边距设置
- 外边距设置
- 盒子的计算
- 元素显示方式
生活中的盒子
1.盒子模型的概念
- 盒子模型用来“放”网页中的各种元素。
- 网页设计中内容,如文字、图片等元素,都可是盒子(DIV嵌套)
- 网页中盒子模型
2.盒子模型属性
-
宽度属性
- 宽度 width:长度值 | 百分比 | auto
- 最大宽度 max-width:长度值 | 百分比 | auto
- 最小宽度 min-width:长度值 | 百分比 | auto
-
高度属性
- 高度 height:长度值 | 百分比 | auto
- 最大高度 max-height:长度值 | 百分比 | auto
- 最小高度 min-height:长度值 | 百分比 | auto
- 说明:设置块级元素和替换元素的内容高度
-
那些HTML元素可设置高和宽属性
- 块级元素:
- 替换元素 :
- 非替换元素:
-
边框属性
- 边框宽度(border-width)
- 设置元素边框宽度
- border-width:thin | medium | thick | 长度值
- 边框颜色(border-color)
- 设置元素边框颜色
- border-width:颜色 | transparent
- 边框样式(border-style) 4个方向来表示(上、下、左、右)
- 设置元素边框样式
- border-style:值 | none | hidden
- 不同方向表示:
- border-[left | right | top | bottom]-width
- border-[left | right | top | bottom]-color
- border-[left | right | top | bottom]-style
- 边框缩写:border:[宽度] | [样式] | [颜色]
- 不同方向:
- border-top:[宽度] | [样式] | [颜色]
- border-left:[宽度] | [样式] | [颜色]
- border-right:[宽度] | [样式] | [颜色]
- border-bottom:[宽度] | [样式] | [颜色]
-
内边距属性
- 设置元素的内容与边距之间的距离(内边距或填充),分4个方向(上右下左)
- - padding-top:长度值 | 百分比
- - padding-right:长度值 | 百分比
- - padding-bottom:长度值 | 百分比
- - padding-left:长度值 | 百分比
- 说明:值不能为负值
- 内边距属性缩写
- padding:值1; // 4个方向都为值1
- padding:值1 值2; // 上下=值1 ,左右=值2
- padding:值1 值2 值3;// 上=值1 ,左右=值2,下=值3
- padding:值1 值2 值3 值4;// 上=值1 ,右=值2,下=值3,左=值4
- 设置元素的内容与边距之间的距离(内边距或填充),分4个方向(上右下左)
-
外边距属性
- 设置元素与元素之间的距离(外边距),4个方向(上右下左)
- - margin-top:长度值 | 百分比
- - margin-right:长度值 | 百分比
- - margin-bottom:长度值 | 百分比
- - margin-left:长度值 | 百分比
- 说明:值可为负值
- 外边距属性缩写
- margin:值1; // 4个方向都为值1
- margin:值1 值2; // 上下=值1 ,左右=值2
- margin:值1 值2 值3;// 上=值1 ,左右=值2,下=值3
- margin:值1 值2 值3 值4;// 上=值1 ,右=值2,下=值3,左=值4
- 默认情况下,相应HTML块级元素存在外边距 body、h1~h6 、p.....
- 声明margin属性,覆盖默认样式
- margin值为auto,实现水平方向居中显示效果
- 由浏览器计算外边距
- 垂直方向,两个相邻元素都设置外边距,外边距会发生合并
- 合并后外边距高度=两个发生合并外边距的高度中最大值
- 设置元素与元素之间的距离(外边距),4个方向(上右下左)
-
盒子模型计算
- 标准盒子模型
- 盒子模型计算
- 在CSS中,width 和 height 指的是内容区域的宽度和高度
- 增加内边距、边框和外边距不会影响内容区域的尺寸,但会增加元素框的总尺寸。
- IE盒子模型:
- display属性
- inline:元素将显示为内联元素,元素前后没有换行符
- block:元素将显示为块级元素,元素前后会带有换行符
- inline-block:行内块元素,元素呈现为inline,但具有block相应特性
- none:此元素不会被显示
- 边框宽度(border-width)
2.代码示例
2.1高度宽度和边框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <!– 宽度–>-->
<!-- <style type="text/css">-->
<!-- p{width: 400px;background: #78b917}-->
<!-- .one{max-width: 500px;}-->
<!-- .two{min-width: 500px;}-->
<!-- .three{min-width:200px;max-width: 300px;}-->
<!-- </style>-->
<!-- <!– 高度–>-->
<!-- <style type="text/css">-->
<!-- p{height: 200px;background-color: #78b917;float: left;}-->
<!-- .one{max-height: 300px;}-->
<!-- .two{min-height: 300px;}-->
<!-- .three{min-height: 300px;max-height: 500px;}-->
<!-- </style>-->
<!-- <!– 那些元素可以设置高和宽属性–>-->
<!-- <style type="text/css">-->
<!-- p{background-color: #ececec;height:auto;width:200px;}-->
<!-- span{ background-color: #acacac;width:200px;height:100px; }-->
<!-- img{width:200px;height: 100px;}-->
<!-- </style>-->
<!-- border属性 -->
<style type="text/css">
/*p{width: 150px;height:100px;background-color: #ececec;line-height: 100px;*/
/* border-width:thick;border-color: #0099ee;border-style:dotted;}*/
/* border属性不同方向设置 */
p{width: 150px;height:100px;background-color: #ececec;line-height: 100px;}
.one{border:10px #0099ee solid;} /* 全部样式一样 */
.two{border-top:5px red solid;
border-left:10px green double;
border-right:10px #0099ee double;
border-bottom:5px pink dotted;}
</style>
</head>
<body>
<!-- <p>盒子模型宽度width:400px;</p>-->
<!-- <p class="one">盒子模型最大宽度max-width:500px;</p>-->
<!-- <p class="two">盒子模型最小宽度min-width:500px;</p>-->
<!-- <p class="three">盒子模型最大小宽度min-width和max-width;</p>-->
<!-- <p>盒子模型高度height:200px;</p>-->
<!-- <p class="one">盒子模型最大高度max-height:100px;</p>-->
<!-- <p class="two">盒子模型最小高度min-height:100px;</p>-->
<!-- <p class="three">盒子模型最小高度min-height:100px和最大高度max-height:500px;</p>-->
<!-- <p>盒子模型高度height:自适应;宽度width:200</p>-->
<!-- <span>盒子模型高度height:100px;宽度width:100px;</span> <!–非替换元素不支持–>-->
<!-- <!– 高宽属性适用块元素和替换元素 –>-->
<!-- <img src="img/html.jpg" width="200px"/><img src="img/css.jpg" height="100px"/>-->
<!-- border属性 -->
<!-- <p>边框属性border</p> <!– 边框宽度、样式、颜色 –>-->
<!-- <p class="three">边框属性border</p>-->
<!-- border属性不同方向设置 -->
<p class="one">边框属性border</p>
<p class="two">边框属性border</p>
</body>
</html>
2.2内外边距数学、盒子模型计算、display属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
/*内边距*/
/*.one{width:300px;height:300px;background-color: #acacac;*/
/* padding-top:20px;padding-left:30px;padding-bottom:50px;padding-right: 40px;}*/
/*.one{width:300px;height:300px;background-color: #acacac;*/
/* padding:20px 10px 5px 8px;}*/
/*.content{width:100%;height:100%;background-color: #ececec;}*/
/*外边距*/
/*body,p{margin:0;} !*声明margin属性,覆盖默认样式*!*/
/*.one{width:300px;height:300px;background-color: #acacac;*/
/* margin:10px 5px 8px 20px;}*/
/* .one{width:300px;height:300px;background-color: #acacac;*/
/* margin:auto;} !*margin值为auto,实现水平方向居中显示效果*!*/
/*垂直方向,两个相邻元素都设置外边距,外边距会发生合并,
合并后外边距高度=两个发生合并外边距的高度中最大值*/
/*.content{width:100px;height:100px;background-color: #ececec;margin:auto;}*/
/*.one{width:300px;height:300px;background-color: #acacac;margin-bottom: 20px;}*/
/*.two{width:300px;height:300px;background-color: #acacac;margin-top:30px;}*/
</style>
<style type="text/css">
/*盒子计算*/
div{margin:10px;
padding:5px;
border:1px red solid;
width:68px;
height:48px;}
</style>
<style type="text/css">
div,span{background-color: #00aaee;
border:1px #666 solid;}
.one{font-size: 0px;}
div{display:inline-block;
font-size:16px;
width:100px;
height:30px;
padding:5px;
margin:10px;}
/*span{display:block;
width:100px;
height:30px;
padding:5px;
margin:10px;}*/
span{display:none;}
a:hover span{display:inline;}
</style>
</head>
<body>
<!-- <div class="one"><div class="content">padding属性</div></div>-->
<!-- <div class="one"><div class="content">margin属性</div></div>-->
<!-- <div class="two"><div class="content">margin属性</div></div>-->
<!-- <p>123</p> -->
<!-- <!– 盒子计算–>-->
<!-- <!– 页面总占宽100px,高80px,其中margin:10px\padding:5px\border:1px –>-->
<!-- <div>盒子模型计算</div>-->
<!--块级元素-->
<!-- <div class="one"> -->
<div>display属性-div</div>
<div>display属性-div</div>
<div>display属性-div</div>
<div>display属性-div</div>
<div>display属性-div</div>
<div>display属性-div</div>
<!-- </div> -->
<hr/>
<!--内联元素-->
<span>display属性-sapn</span><span>display属性-sapn</span><span>display属性-sapn</span>
<hr/>
<a href="#">指我...<span>和你捉迷藏</span></a>
</body>
</html>