📦 CSS 学习笔记(三):三大特性 + 盒子模型(真正的布局起点)

14 阅读4分钟

如果说前两天是在“认识 CSS”,
那第三天开始,你就真正走进了 网页布局的核心世界

今天只有两个关键词:
规则盒子


一、CSS 三大特性

CSS 之所以“看起来简单,实际容易乱”,
核心原因就是它有 三大特性 在背后悄悄生效:

层叠性 · 继承性 · 优先级


1️⃣ 层叠性(解决样式冲突)

什么是层叠性?

相同选择器,设置了相同样式,后面的会覆盖前面的

p {
  color: red;
}

p {
  color: blue;
}

最终效果 👉 blue

层叠性原则

  • 样式冲突 👉 就近原则
  • 样式不冲突 👉 不会层叠

📌 可以简单理解为:

“离标签近的样式说了算”


2️⃣ 继承性(少写代码的关键)

什么是继承?

子元素可以继承父元素的部分样式

常见可继承属性:

  • color
  • font-*
  • text-*
  • line-*

📌 口诀记忆:

龙生龙,凤生凤,老鼠生的孩子会打洞


行高的继承

body {
  font: 12px/1.5 Microsoft YaHei;
}

说明:

  • 1.5倍数行高
  • 子元素如果没写行高,会继承 1.5
  • 实际行高 = 当前文字大小 × 1.5

👉 这是一种非常推荐的写法
可以让不同字号的文本自动拥有合适的行高。


3️⃣ 优先级

当一个元素被多个选择器选中时,
就要靠 优先级(权重) 决定谁生效。


权重简单记忆版 ⭐⭐⭐

选择器权重
* / 继承0
标签选择器1
类 / 伪类10
ID100
行内样式1000
!important无穷大

📌 核心规则:

  • 不进位
  • 从左往右比
  • 谁大听谁的

权重叠加示例

div ul li0,0,0,3
.nav ul li0,0,1,2
a:hover0,0,1,1

⚠️ 注意一个常见误区:

继承的权重是 0
父元素再牛,也不能“帮子元素抢权重”


二、盒子模型

1️⃣ 网页布局的本质

一句话总结:

网页布局 = 摆盒子

流程永远是:

  1. 准备 HTML 元素(盒子)
  2. 用 CSS 设置大小和位置
  3. 往盒子里装内容

2️⃣ 盒子模型的组成

一个标准盒子包含四部分:

content + padding + border + margin

也就是:

  • 内容(content)
  • 内边距(padding)
  • 边框(border)
  • 外边距(margin)

📌 所有布局问题,本质都是盒子问题


3️⃣ 边框 border

基本写法

border: 1px solid red;

等价于:

border-width: 1px;
border-style: solid;
border-color: red;

常见边框样式:

  • solid 实线 ⭐
  • dashed 虚线
  • dotted 点线

表格细线边框

border-collapse: collapse;

作用:

把相邻边框合并成一条线


边框对盒子大小的影响

⚠️ 边框 会撑大盒子

解决思路:

  • 量尺寸时不算边框
  • 或者:width / height 减去边框宽度

4️⃣ 内边距 padding

padding 的作用

控制 内容与边框之间的距离

padding: 20px;
padding: 10px 20px;

padding 是否撑大盒子?

分两种情况:

1️⃣ 盒子有 width / height

👉 padding 会撑大盒子

2️⃣ 盒子没写 width / height

👉 padding 不会撑大盒子

📌 新手非常容易踩这个坑!


5️⃣ 外边距 margin

margin 的作用

控制 盒子与盒子之间的距离


块级元素水平居中

.box {
  width: 300px;
  margin: 0 auto;
}

条件:

  • 必须是块级元素
  • 必须有宽度

外边距合并

① 相邻块元素合并

上下两个块:

  • 较大的 margin
  • 不会相加

👉 解决方案:
只给一个盒子设置 margin


② 父子嵌套塌陷

子元素的 margin-top 会“顶”父元素

解决方案(三选一):

/* 方案 1 */
border-top: 1px solid transparent;

/* 方案 2 */
padding-top: 1px;

/* 方案 3(常用) */
overflow: hidden;

6️⃣ 清除默认内外边距(项目必写)

* {
  margin: 0;
  padding: 0;
}

📌 注意:

  • 行内元素尽量只设置左右 margin / padding
  • 或者先转成 inline-block

三、PS 基础操作

虽然我们是前端,但 离不开 PS

常用操作:

  • Ctrl + R:显示标尺
  • 单位改为像素
  • Ctrl + + / -:缩放
  • 空格拖动画布
  • 选区测量尺寸
  • Ctrl + D 取消选区

📌 切图 ≠ 设计,但一定要会量尺寸


🧠 总结

CSS 第三天,本质上是在告诉你三件事:

1️⃣ 样式为什么会生效(规则)
2️⃣ 页面为什么会乱(权重 + 盒子)
3️⃣ 布局到底在干嘛(摆盒子)

CSS 不难,难的是不理解规则就开始写。