别在尺寸和间距上凭感觉瞎猜

写页面时你是不是经常遇到这种诡异现象:明明给容器设了固定宽度,加了内边距和边框后,整个布局却莫名其妙被撑爆换行了;或者两个上下相邻的盒子,明明各自设了外间距,中间的缝隙却并没有叠加,反而只保留了较大的那一个。这些绝不是浏览器的随机行为,而是你对盒子模型的标准计算规则和外边距合并机制存在认知盲区。这门课解决的核心痛点,就是帮你彻底理清元素的实际占据空间到底是怎么算出来的。它适合已经能写基础选择器和文本样式、但一碰到复杂排版就手忙脚乱的初学者。如果你还在用反复修改数值碰运气的方式来调试布局,说明你缺的正是这块系统性的底层规则拼图,现在必须缺什么补什么,别假装自己已经懂了。

标准与怪异模式是分水岭

看这份资料,建议直接从标准模式与怪异模式的差异对比切入。这是理解整套尺寸体系的关键分水岭。你需要弄清楚在默认的标准模式下,设置的宽度仅仅是内容区域,实际占据的物理宽度需要把内外间距和边框累加上去;而怪异模式下,宽度则直接包含了边框和内边距。搞懂这个差异,你才能明白为什么现代开发中经常需要用特定的盒模型属性声明来统一计算方式,避免在不同组件间出现尺寸错乱。紧接着重点看外间距的机制,特别是垂直方向上的外边距合并现象,这是嵌套元素和相邻元素布局错位的重灾区。资料后半段附带了定位与层次属性的内容,这其实是盒子模型在三维空间上的延伸。你需要理解脱离文档流后,元素原本占据的空间会如何坍塌,以及层级覆盖的判定逻辑。建议把尺寸小练习作为自测题,先暂停自己算一遍实际宽度,再对照演示验证,不要直接看结果。

学完应能独立回答的三个问题

  • 给一个固定宽度的盒子同时加上内边距和边框后,它在父容器中的实际渲染宽度是多少?如果不想让它撑破父容器,应该怎么处理计算规则?
  • 两个垂直相邻的块级元素,上方设了外间距,下方也设了外间距,它们之间的实际缝隙到底是多少?如果是父子嵌套结构,外边距合并又该如何消除?
  • 当元素被设置为绝对定位脱离文档流后,它原本在页面中占据的空间是否还存在?同层级定位元素发生重叠时,浏览器按什么规则决定谁盖在谁上面?

把概念转化为排版的肌肉记忆

资料里的练习线索不是让你看一遍就过的演示,而是要求你跟着敲一遍。对于间距和边框这部分的配套练习,建议你自己建一个空白的结构文件,先不加任何样式,观察默认的间距表现,然后逐步加上边框线宽和内外边距,通过开发者工具审查元素,直观对照数值变化和实际渲染的盒子层级关系。遇到定位部分,务必手写几个发生重叠的区块,手动调整层级数值去观察覆盖效果。不要只停留在听懂概念的层面,能把一个设计稿精确还原成无错位的结构,并且能快速排查出为什么某个元素被挤出了预定位置,才算真正把这套模型吃透。排查布局溢出和层级遮挡问题,就是你学完这套资料后应该具备的独立动手能力。

课程目录

1 1.盒子模型 (26:24)
2 盒子模型_尺寸 (13:21)
3 盒子模型_尺寸小练习 (01:42)
4 盒子模型_间距 (09:04)
5 盒子模型_边框 (08:55)
6 盒子模型_标准模式和怪异模式 (13:53)
7 定位属性Position (21:22)
8 z-index层次属性 (13:30)