news 2026/6/15 4:25:49

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/6/15 10:13:41

机械制造行业网页如何用html5实现文件夹上传?

大文件上传方案设计与实现(政府信创环境兼容) 方案背景 作为北京某软件公司的开发人员,我负责为政府客户实现一个兼容主流浏览器和信创国产化环境的大文件上传系统。当前需求是支持4GB左右文件的上传,后端使用PHP,前…

作者头像 李华
网站建设 2026/6/15 11:11:37

DeepSeek降AI效果实测:免费方案真的能用吗?

DeepSeek降AI效果实测:免费方案真的能用吗? TL;DR:DeepSeek作为免费大模型确实可以用来降AI,但效果像开盲盒,极度依赖你的Prompt质量。如果你不会写提示词或者时间紧,建议直接用专业工具:嘎嘎降…

作者头像 李华
网站建设 2026/6/15 11:11:51

6.3 DETR与GLIP:新一代目标检测技术详解

6.3 DETR与GLIP:新一代目标检测技术详解 引言 在前两节中,我们学习了视觉问答(VQA)和视觉定位(Grounding)技术,这些技术都依赖于准确的目标检测作为基础。传统的目标检测方法如Faster R-CNN、YOLO等虽然性能优秀,但存在一些固有的局限性,如需要复杂的后处理步骤(如…

作者头像 李华