0

0

css 盒模型由哪几部分组成_内容内边距边框外边距结构解析

P粉602998670

P粉602998670

发布时间:2026-01-07 11:37:36

|

180人浏览过

|

来源于php中文网

原创

盒子模型由content、padding、border、margin四层构成,浏览器渲染时天然存在;标准模型下width仅指content宽度,实际尺寸需加上padding和border;box-sizing: border-box可使width包含padding和border。

css 盒模型由哪几部分组成_内容内边距边框外边距结构解析

盒子模型的四层结构:content、padding、border、margin

CSS 盒子模型就是每个元素在页面中占据的矩形空间,它由内到外严格分为四层:content(内容区)、padding(内边距)、border(边框)、margin(外边距)。这四层不是可选配置,而是浏览器渲染时**天然存在**的布局单元——哪怕你没写任何样式,它们也都在那儿。

常见误解是以为“没设 padding 就没有内边距”,其实默认值是 0,不是“不存在”。同理,border 默认为 none,但它的位置和计算逻辑仍在;margin 默认非零(如

有上下 margin),这点尤其容易被忽略。

为什么总宽度/高度经常“算不准”?标准模型 vs box-sizing

默认使用的是**标准盒子模型**:你写的 width: 200px 仅代表 content 宽度,不包含 paddingborder。所以当设置:

div {
  width: 200px;
  padding: 10px;
  border: 3px solid #000;
}

该 div 实际占用的水平空间是 200 + 10×2 + 3×2 = 226px。很多布局错位、响应式失效,根源就在这里。

立即学习前端免费学习笔记(深入)”;

AI at Meta
AI at Meta

Facebook 旗下的AI研究平台

下载
  • 想让 width 包含 paddingborder?加一句:box-sizing: border-box
  • 全局重置推荐写法:* { box-sizing: border-box; }(注意:伪元素需单独加)
  • box-sizing: content-box 是默认值,显式写出仅用于覆盖或调试

padding 和 margin 看似相似,行为却截然不同

padding 是“往里撑”,影响背景色、阴影、点击热区;margin 是“往外推”,透明且不继承背景,但会触发**外边距折叠(margin collapse)**——这是最常踩的坑。

  • 垂直方向相邻块级元素的 margin-topmargin-bottom 会合并为两者中较大的那个值,而不是相加
  • padding 永远不会折叠,也不会塌陷,它老老实实增加盒子自身尺寸
  • 行内元素(如 )的 margin-top/bottom 无效,但 padding 有效(只是不推挤其他行内元素)

边框不是“装饰线”,它参与布局计算且影响渲染性能

border 不仅决定视觉边界,还直接影响盒子尺寸、圆角渲染(border-radius)、甚至是否触发硬件加速(比如带 border 的元素更易被提升为独立图层)。

  • 避免用 border: 1px solid transparent 占位——它仍参与 layout 计算,且可能引发重排
  • 单边隐藏别写 border-bottom: none,而应直接移除该声明,减少 CSS 解析开销
  • 虚线/点线边框(dashed/dotted)比实线(solid)渲染成本略高,高频动画中慎用

真正卡住人的从来不是记不住四层名字,而是改了 padding 却忘了调 width,写了 margin 却没意识到它正在和上一个元素悄悄合并——盒子模型的“模型”二字,强调的是它是一套**可预测、可计算、有副作用**的物理系统,不是画布上的静态图层。

相关专题

更多
css
css

css是层叠样式表,用来表现HTML或XML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

507

2023.06.15

css居中
css居中

css居中:1、通过“margin: 0 auto; text-align: center”实现水平居中;2、通过“display:flex”实现水平居中;3、通过“display:table-cell”和“margin-left”实现居中。本专题为大家提供css居中的相关的文章、下载、课程内容,供大家免费下载体验。

261

2023.07.27

css如何插入图片
css如何插入图片

cssCSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述网页或应用程序外观和样式的标记语言。CSS可以控制网页的字体、颜色、布局、大小、背景、边框等方面,使得网页的外观更加美观和易于阅读。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

743

2023.07.28

css超出显示...
css超出显示...

在CSS中,当文本内容超出容器的宽度或高度时,可以使用省略号来表示被隐藏的文本内容。本专题为大家提供css超出显示...的相关文章,相关教程,供大家免费体验。

536

2023.08.01

css字体颜色
css字体颜色

CSS中,字体颜色可以通过属性color来设置,用于控制文本的前景色,字体颜色在网页设计中起到很重要的作用,具有以下表现作用:1、提升可读性;2、强调重点信息;3、营造氛围和美感;4、用于呈现品牌标识或与品牌形象相符的风格。

755

2023.08.10

什么是css
什么是css

CSS是层叠样式表(Cascading Style Sheets)的缩写,是一种用于描述网页(或其他基于 XML 的文档)样式与布局的标记语言,CSS的作用和意义如下:1、分离样式和内容;2、页面加载速度优化;3、实现响应式设计;4、确保整个网站的风格和样式保持统一。

599

2023.08.10

css三角形怎么写
css三角形怎么写

CSS可以通过多种方式实现三角形形状,本专题为大家提供css三角形怎么写的相关教程,大家可以免费体验。

559

2023.08.21

css设置文字颜色
css设置文字颜色

CSS(层叠样式表)可以用于设置文字颜色,这样做有以下好处和优势:1、增加网页的可视化效果;2、突出显示某些重要的信息或关键字;3、增强品牌识别度;4、提高网页的可访问性;5、引起不同的情感共鸣。

388

2023.08.22

C++ 高性能计算与并行编程
C++ 高性能计算与并行编程

本专题专注于 C++ 在高性能计算(HPC)与并行编程中的应用,涵盖多线程、并发数据处理、OpenMP、MPI、GPU加速等技术。通过实际案例,帮助开发者掌握 如何利用 C++ 进行大规模数据计算和并行处理,提高程序的执行效率,适应高性能计算与数据密集型应用场景。

6

2026.01.08

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.7万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.8万人学习

CSS教程
CSS教程

共754课时 | 18.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号