1. 认识盒子模型
每个 HTML 元素都被看作一个矩形盒子。盒子模型由 内容(content)、 内边距(padding)、边框(border)、 外边距(margin) 组成。理解这四层结构是掌握 CSS 布局的基础。
2. <div> 标签
<div> 是 HTML 提供的块容器标签,用于划分网页模块。
HTML5 新增了语义化标签 <header> <nav> <section> <article> <aside> <footer>。
HTML(div 实现)
<div class="section">
HTML5(语义标签)
<section>
3. 边框属性 border
边框由 样式、宽度、颜色 三要素组成。可以统一设置,也可以按四边分别设置。 宽度必须在设置样式之后才生效。
border-style: none 和 border-color: transparent 的区别。
边框设置
4. 内边距 padding
内边距是内容与边框之间的距离。可以四边统一设置,也可以用简写分别设置上下左右。 padding 不允许使用负值。
padding 设置
5. 外边距 margin
外边距是元素边框与相邻元素之间的距离。与 padding 不同,margin 允许负值。
常用 margin: 0 auto 实现块级元素水平居中。
重点:当两个相邻元素都设置了 margin 时,它们之间的距离取较大值,而不是相加。
盒子自身的 margin
四周邻居的 margin
拖动滑块观察:盒子与邻居之间的距离取「盒子 margin」与「邻居 margin」的较大值。
6. 盒子的宽与高
width 和 height 的含义取决于 box-sizing:
content-box(默认)下 width/height 只作用于内容区,
padding 和 border 会往外撑开,整体盒子尺寸变大;
border-box 下 width/height 是内容 + padding + border 的总和,
整体尺寸锁定,padding 和 border 的厚度不变,内容区被压缩或撑大。
无论哪种模式,元素实际占用的总宽高都还要再加上 margin。
box-sizing 对比
· content-box:拖动 width 时,content 区变化,padding 和 border 的厚度不变, 但它们会被 content 往外撑开,整体橙框变大或变小。
· border-box:拖动 width 时,橙框整体尺寸严格等于 width, padding 和 border 的厚度不变,但 content 区被压缩或撑大。
· 无论哪种模式,元素实际占用的总宽高都要再加上
margin × 2。
7. 背景属性 background
背景图片和背景颜色占据 content + padding 区域, 不包含 border 和 margin。可以设置图片的平铺方式、位置、大小和固定方式。
背景控制
left top);
拖动下方滑块使用百分比值(如 20% 30%),此时按钮全部取消选中,
但可以随时重新点击按钮切换回文本属性值。
0(最左),表示未设置 background-size。
只拖动宽度滑块 → 只设置宽度,高度等比缩放;
同时拖动宽度和高度 → 分别设置宽高;
两个都在 0 → 属性值为 auto(使用图片原始尺寸)。