仅供学习,转载请注明出处
需求
使用HTML编写三个div,用来逐步分析拆解相关盒子模型的大小变化。
首先绘画三个div,设置大小50px,背景色为gold
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<title>盒子的真实尺寸</title>
<meta charset="utf-8">
<style type="text/css">
.box01{width:50px;height: 50px;background-color: gold;}
.box02{width:50px;height: 50px;background-color: gold;}
.box03{width:50px;height: 50px;background-color: gold;}
</style>
</head>
<body>
<div class="box01">1</div><br>
<div class="box02">2</div><br>
<div class="box03">3</div><br>
</body>
</html>
浏览器展示如下:
好了,从上图来看,已经绘画除了三个正方形了。下面继续看看增加一下边框border
看看。
给2和3的正方形增加黑色边框,宽度为50px
border: 50px solid #000;
<!DOCTYPE html>
<html>
<head>
<title>盒子的真实尺寸</title>
<meta charset="utf-8">
<style type="text/css">
.box01{width:50px;height: 50px;background-color: gold;}
.box02{width:50px;height: 50px;background-color: gold;border: 50px solid #000;}
.box03{width:50px;height: 50px;background-color: gold;border: 50px solid #000;}
</style>
</head>
<body>
<div class="box01">1</div><br>
<div class="box02">2</div><br>
<div class="box03">3</div><br>
</body>
</html>
浏览器展示效果如下:
好了,此时已经2和3已经有了边框了。
下面来看看盒子模型的理解图:
下面继续可以给正方形3增加内边距padding,来看看效果。
给正方形3增加内边距50px
padding: 50px
<!DOCTYPE html>
<html>
<head>
<title>盒子的真实尺寸</title>
<meta charset="utf-8">
<style type="text/css">
.box01{width:50px;height: 50px;background-color: gold;}
.box02{width:50px;height: 50px;background-color: gold;border: 50px solid #000;}
.box03{width:50px;height: 50px;background-color: gold;border: 50px solid #000;padding: 50px}
</style>
</head>
<body>
<div class="box01">1</div><br>
<div class="box02">2</div><br>
<div class="box03">3</div><br>
</body>
</html>
浏览器展示如下:
通过上面的页面得出结论:盒子的width和height设置的是盒子内容的宽和高,不是盒子本身的宽和高,盒子的真实尺寸计算公式如下:
- 盒子宽度 = width padding左右 border左右
- 盒子高度 = height padding上下 border上下
练习
通过盒子模型的原理,制作下面的盒子:
实现代码如下:
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<style type="text/css">
.box{
width:400px;
height: 54px;
background-color: gold;
border-top: 1px solid #f00;
border-bottom: 3px solid #666}
.box span{
font-size: 20px;
font-family: "Microsoft YaHei";
line-height: 54px;
padding-left: 150px;
}
</style>
</head>
<body>
<div class="box"><span>新闻列表</span></div><br>
</body>
</html>
浏览器展示如下: