CSS 盒子模型详解

本文将从多个方面详细介绍 CSS 盒子模型。

一、基本概念

CSS 盒子模型由内容区(Content)、内边距(Padding)、边框(Border)和外边距(Margin)组成,每个元素在页面中都可以看作是一个盒子。这几个部分从内到外依次排列,共同决定了元素在页面中占据的空间大小。

二、盒子模型详解

内容区(Content)

内容区是盒子的核心部分,用于显示元素的实际内容,如文本、图像等。内容区的大小由 widthheight 属性决定。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <style>
        .content-box {
            width: 200px; # 宽度为 200px
            height: 100px; # 高度为 100px
            background-color: lightblue;
        }
    </style>
</head>

<body>
    <div class="content-box">这是内容区</div>
</body>

</html>
内边距(Padding)

内边距是内容区与边框之间的距离,用于控制内容与边框之间的空白空间。可以使用 padding-toppadding-rightpadding-bottompadding-left 分别设置四个方向的内边距,也可以使用 padding 简写属性一次性设置。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <style>
        .padding-box {
            width: 200px;
            height: 100px;
            padding: 20px;
            background-color: lightgreen;
        }
    </style>
</head>

<body>
    <div class="padding-box">这是设置了内边距的盒子</div>
</body>

</html>
边框(Border)

边框围绕在内边距之外,用于包裹内容区和内边距。可以使用 border-widthborder-styleborder-color 分别设置边框的宽度、样式和颜色,也可以使用 border 简写属性。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <style>
        .border-box {
            width: 200px;
            height: 100px;
            padding: 20px;
            border: 5px solid red;
        }
    </style>
</head>

<body>
    <div class="border-box">这是设置了边框的盒子</div>
</body>

</html>
外边距(Margin)

外边距是盒子与其他元素之间的距离,用于控制元素与元素之间的空白空间。可以使用 margin-topmargin-rightmargin-bottommargin-left 分别设置四个方向的外边距,也可以使用 margin 简写属性。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <style>
        .margin-box {
            width: 200px;
            height: 100px;
            padding: 20px;
            border: 5px solid blue;
            margin: 30px;
        }
    </style>
</head>

<body>
    <div class="margin-box">这是设置了外边距的盒子</div>
</body>

</html>

三、盒子宽度和高度的计算

标准盒模型

在标准盒模型中,元素的总宽度和总高度计算方式如下:

  • 总宽度width + padding-left + padding-right + border-left-width + border-right-width
  • 总高度height + padding-top + padding-bottom + border-top-width + border-bottom-width
怪异盒模型(IE 盒模型)

怪异盒模型中,widthheight 属性包含了内容区、内边距和边框的大小,不包含外边距。其计算方式如下:

  • 总宽度width(包含 paddingborder)+ margin-left + margin-right
  • 总高度height(包含 paddingborder)+ margin-top + margin-bottom

可以通过 box-sizing 属性来切换盒模型,box-sizing: content-box; 为标准盒模型(默认值),box-sizing: border-box; 为怪异盒模型。

四、两种盒模型对比

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <style>
        .standard-box {
            width: 200px;
            height: 100px;
            padding: 20px;
            border: 5px solid green;
            box-sizing: content-box;
        }

        .border-box-model {
            width: 200px;
            height: 100px;
            padding: 20px;
            border: 5px solid orange;
            box-sizing: border-box;
        }
    </style>
</head>

<body>
    <div class="standard-box">标准盒模型</div>
    <div class="border-box-model">怪异盒模型</div>
</body>

</html>

标准盒模型的 .standard-box 实际占据的宽度为 200 + 20×2 + 5×2 = 250px,高度为 100 + 20×2 + 5×2 = 150px;而怪异盒模型的 .border-box-model 宽度和高度就是设置的 200px 和 100px,内边距和边框会包含在这个范围内。



← 上一篇 AngularJS知识快速入门(上)
记得点赞、关注、收藏哦!
下一篇 Ajax——在OA系统提升性能的局部刷新 →
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值