CSS 与响应式布局
盒模型、尺寸与间距
用可计算的宽度和间距制作课程卡片,分清 content、padding、border 与 margin。
- 难度
- 入门
- 预计时间
- 40 分钟
- 最近验证
- 2026/9/21
这一节要完成什么
用可计算的宽度和间距制作课程卡片,分清 content、padding、border 与 margin。
先理解:为什么要学它
border-box 让声明宽度包含内边距和边框。
跟着做
*,
*::before,
*::after {
box-sizing: border-box;
}
.lesson-card {
max-width: 42rem;
padding: 1.5rem;
border: 1px solid #fed7aa;
margin-block: 1rem;
border-radius: 0.75rem;
}- 在页面选一个 section 加上
lesson-card类。 - 先不加 box-sizing,记录 DevTools 显示的总宽度;再加入全局规则比较。
- 分别修改 padding 和 margin,观察哪个改变卡片内部、哪个改变卡片之间。
- 将固定 width 改成 max-width,并缩窄窗口确认内容不会溢出。
关键代码怎么读
- border-box 让声明宽度包含内边距和边框。
- 优先使用逻辑属性
margin-block,适应不同书写方向。 - 间距建立规律,比每处随意写数字更容易维护。
常见错误:看到什么,检查什么
| 现象 | 检查方法 |
|---|---|
| 卡片比 width 更宽 | 默认 content-box 还会加上 padding 和 border。 |
| 文字贴边 | 增加 padding,不要用空格字符撑开。 |
自己完成一次
制作两张相邻卡片:它们宽度一致、内边距一致,卡片间距为 1rem;用 Computed 面板记录最终宽度。
完成后再看参考答案
两张卡使用同一个类;不要为第二张复制一套规则。
完成检查
- 我完成了本节要求的可见结果
- 我能解释关键代码的输入、处理和输出
- 我测试了正常、边界和错误情况