news 2026/4/27 4:53:16

CSS盒子模型:网页布局的基石与艺术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CSS盒子模型:网页布局的基石与艺术

一、什么是盒子模型?

每个HTML元素在浏览器中都被渲染为一个矩形盒子。CSS盒子模型描述了这些盒子如何构成:从内容区域开始,依次添加内边距、边框和外边距。理解盒子模型是掌握CSS布局的第一步。

想象一下俄罗斯套娃:

  • 最内层:内容(你真正想展示的东西)

  • 第二层:内边距(内容与边框之间的缓冲空间)

  • 第三层:边框(盒子的边界)

  • 最外层:外边距(盒子与其他盒子之间的距离)

二、盒子模型的组成部分

1. 内容区域(Content)

盒子最核心的部分,包含文本、图片等实际内容。

div { width: 200px; /* 内容区域的宽度 */ height: 150px; /* 内容区域的高度 */ background: #f0f0f0; }

2. 内边距(Padding)

内容区域与边框之间的空间,背景色会延伸到内边距区域

div { padding: 20px; /* 简写:四个方向都是20px */ /* 分别设置各边内边距 */ padding-top: 10px; padding-right: 15px; padding-bottom: 10px; padding-left: 15px; /* 简写的不同形式 */ padding: 10px; /* 上右下左都是10px */ padding: 10px 20px; /* 上下10px,左右20px */ padding: 10px 20px 15px; /* 上10px,左右20px,下15px */ padding: 10px 20px 15px 5px; /* 上10px,右20px,下15px,左5px */ }

3. 边框(Border)

围绕内容和内边距的边界线,可以设置样式、宽度和颜色。

div { /* 边框的三个属性 */ border-width: 2px; /* 边框宽度 */ border-style: solid; /* 边框样式:solid, dotted, dashed, double等 */ border-color: #333; /* 边框颜色 */ /* 简写形式 */ border: 2px solid #333; /* 分别设置各边边框 */ border-top: 1px dashed red; border-right: 2px solid blue; border-bottom: 3px dotted green; border-left: 4px double orange; /* 圆角边框 */ border-radius: 10px; border-radius: 50%; /* 圆形 */ }

4. 外边距(Margin)

盒子与其他盒子之间的空间,始终是透明的,不会显示背景。

div { margin: 20px; /* 四个方向都是20px */ /* 简写与padding相同 */ margin: 10px 20px; /* 上下10px,左右20px */ /* 特殊值 */ margin: 0 auto; /* 水平居中(左右auto平均分配) */ margin-top: -10px; /* 负外边距,元素会重叠 */ }

三、标准盒子模型 vs 替代盒子模型

这是盒子模型中最关键的区别!

1. 标准盒子模型(content-box)【默认】

元素的widthheight只包含内容区域的尺寸。

.box { box-sizing: content-box; /* 默认值 */ width: 200px; height: 100px; padding: 20px; border: 5px solid black; margin: 10px; }

实际占据空间计算:

  • 总宽度 =width+左右padding+左右border+左右margin

    • = 200 + 20*2 + 5*2 + 10*2 = 270px

  • 总高度 =height+上下padding+上下border+上下margin

    • = 100 + 20*2 + 5*2 + 10*2 = 170px

2. 替代盒子模型(border-box)

元素的widthheight包含内容+内边距+边框的尺寸。

.box { box-sizing: border-box; width: 200px; /* 这个200px包含了内容+padding+border */ height: 100px; padding: 20px; border: 5px solid black; margin: 10px; }

实际占据空间计算:

  • 总宽度 =width+左右margin

    • = 200 + 10*2 = 220px

  • 总高度 =height+上下margin

    • = 100 + 10*2 = 120px

内容区域实际尺寸:

  • 内容宽度 =width-左右padding-左右border

    • = 200 - 20*2 - 5*2 = 150px

  • 内容高度 =height-上下padding-上下border

    • = 100 - 20*2 - 5*2 = 50px

推荐使用border-box!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 12:13:16

保姆级教程:5分钟学会用工具降低论文AIGC检测率

保姆级教程:5分钟学会用工具降低论文AIGC检测率 TL;DR:没时间看长文?5分钟速成版:打开嘎嘎降AI → 粘贴文本 → 付款 → 下载结果 → 替换原文。就这么简单,AI率从70%降到10%以下。 为什么写这篇5分钟教程 我知道你可…

作者头像 李华
网站建设 2026/4/26 13:27:02

知网AIGC检测标准更新后,这3款降AI工具依然有效

知网AIGC检测标准更新后,这3款降AI工具依然有效 TL;DR:2026年知网AIGC检测算法升级后更严格,传统同义词替换已失效。实测发现嘎嘎降AI(达标率99.26%,AI率降至7%)、比话降AI(可降至0%&#xff0c…

作者头像 李华
网站建设 2026/4/26 3:43:10

Node.js path.normalize处理跨平台路径

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 Node.js路径规范化:跨平台开发的隐形陷阱与未来演进目录Node.js路径规范化:跨平台开发的隐形陷阱与未来演…

作者头像 李华
网站建设 2026/4/16 14:58:23

豆包降AI能用吗?字节跳动AI工具降论文AI率实测

豆包降AI能用吗?字节跳动AI工具降论文AI率实测 TL;DR:豆包作为字节跳动的AI助手,写论文效率高但生成内容AI率容易达到70%-80%。用豆包自己降AI效果有限,容易改成小红书风格。想真正降到学校要求的15%-20%以下,还是需要…

作者头像 李华
网站建设 2026/4/20 7:47:08

梦笔记20260118

在山洞时团建?山洞很大,有几个石头撑着。门是一个小弹簧。结束后我把一块豆腐带出去了,说万一坏了味道难闻。门口碰到哪个头目?在洗腰带?说户口本上只有一个人?我说都是我的错,穷,今…

作者头像 李华