网页布局的本质,是摆盒子。本单元是学时最多的一章(14 学时):盒子模型、浮动与清除、定位与 z-index、阴影渐变、过渡变形、Web 字体图标。 盒子模型是整个 CSS 布局的地基——不懂它,margin/padding 永远算不清。
商品是 content;气泡膜是 padding(内容到盒壁的距离);纸箱是 border;盒子和隔壁盒子的空隙是 margin。总占地 = 四层之和。新手常问「为什么宽 100 实际 120」——多半忘了 padding/border 要算进去(除非 box-sizing:border-box)。
box-sizing:border-box 让 width 包含 padding+border,布局更好算,生产强烈推荐全局设置。clear:both 或 overflow 清除。u5/columns.html<style>
* { box-sizing:border-box; } /* 全局改成 border-box */
.row::after { content:""; display:block; clear:both; }
.col { float:left; width:50%; padding:16px; }
.col h3 { color:#b04a2c; }
.btn { background:#b04a2c; color:#fff; padding:8px 16px;
border-radius:8px; transition:.2s; }
.btn:hover { box-shadow:0 6px 16px rgba(176,74,44,.3); }
</style>
<div class="row">
<div class="col"><h3>唐诗</h3><p>…</p><a class="btn">进入</a></div>
<div class="col"><h3>宋词</h3><p>…</p><a class="btn">进入</a></div>
</div>
.row 不加 clear 清除浮动——父容器高度塌成 0,后面元素「跑上来叠一起」。这是布局最常见的幽灵 bug,记住「浮了就得清」。box-sizing:border-box 后,width:100px + padding:20px 的实际占位宽是多少?gallery.html 三栏卡片画廊:每张卡含图(色块占位)、标题、描述、按钮;hover 用 transition 上浮 + 阴影;加一个 fixed 的「回到顶部」角标(z-index 最高)。border-box。做完点「检查本节」看解析与得分;做错可重做。