盒模型的实际尺寸

2019-05-31 16:20:11 浏览数 (1)

仅供学习,转载请注明出处

需求

使用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;

代码语言: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;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

代码语言: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;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>

浏览器展示如下:

0 人点赞