module 02 · css 基础 · 第 9–16 课

模块02
CSS 基础

目标一句话:从「能看」到「好看」,掌握样式系统与盒模型,建立可维护的设计感。

2 课找到元素:CSS 语法与三种引入 · 选择器与命名规范
1 课解释「为什么没生效」:伪类伪元素 · 优先级 · 层叠
3 课建立系统:颜色与单位 · 文本排版 · 盒模型
1 课做出质感:背景 · 圆角 · 阴影 · 渐变
1 课阶段实战:把个人页升级为「有设计感」的版本

// module 02

模块二 · CSS 基础 · 第 9–16 课

09CSS 入门语法 / 三种引入
10选择器基础类 / ID / 命名规范
11选择器进阶与层叠伪类 / 优先级
12颜色、单位与字体CSS 变量
13文本排版行高 / 溢出省略
14盒模型border-box / margin
15背景与装饰圆角 / 阴影 / 渐变
16阶段实战二:美化个人页从能用 → 好看

// 模块二 · 第 09 课

CSS 入门

讲授 · 25 min

  • CSS 的作用:把"结构"和"表现"彻底分开
  • 语法:选择器 { 属性: 值; } · 注释写法
  • 三种引入方式:行内 / 内部 / 外部,为什么推荐外部
  • 用 DevTools 的 Styles 面板实时改样式

练习 · 15 min

给第 8 课的个人页挂上外部样式表 style.css,完成前 5 条样式:背景色、字体、字号、行高、内容区最大宽度并居中。

验收:页面无内联样式;样式表路径正确;改一行 CSS 刷新后页面有变化。

// 模块二 · 第 10 课

选择器基础

讲授 · 25 min

  • 基本选择器:元素 / 类 / ID / 通配
  • 复合选择器:交集 p.hl(连写)· 并集 h1, h2(逗号·也叫分组)· 后代 nav a(空格)· 子代 nav > a
  • class 可复用,id 全页唯一 —— 样式优先用 class
  • 命名规范:小写 + 短横线 · BEM 初识(block__element--modifier)
  • 给同一元素加多个类的写法与顺序

练习 · 15 min

为第 8 课页面里的导航、卡片、按钮添加类名并写样式,要求类名可读、能看懂它管什么。

验收:不使用 id 写样式;类名用英文小写 + 短横线;同一元素上复用类(如 btn btn-primary)。

// 模块二 · 第 11 课

选择器进阶与层叠

讲授 · 25 min

  • 伪类::hover :focus :active :first-child :nth-child(even)
  • 伪元素:::before ::after 与 content
  • 优先级权重:内联 1000 / id 100 / class 10 / 元素 1,同权重后来居上
  • 继承与层叠 · !important 为什么是危险动作

练习 · 15 min

① 5 道优先级判断题(给代码问最终颜色);② 给按钮加 hover 效果和 ::before 小图标装饰。

验收:能口述算出权重;伪元素有 content;不使用 !important。

这节课的目标是一句话:让学生能自己回答「为什么我的样式没生效」。

// 模块二 · 第 12 课

颜色、单位与字体

讲授 · 25 min

  • 颜色写法:hex / rgb / rgba(透明度)/ hsl
  • 单位:px / em / rem / % / vw / vh 的区别与选型
  • 字体栈与中文字体回退顺序 · Web 字体引入思路
  • CSS 变量:--color-primary 与 var()

练习 · 15 min

为页面定义 8 个 CSS 变量(主色、文字三档、背景、边框等)与一套字号阶梯(14 / 16 / 18 / 24 / 32 / 48),并在页面中全部引用变量。

验收:样式表里不出现硬编码颜色;改一个变量,全站生效。

// 模块二 · 第 13 课

文本排版

讲授 · 25 min

  • text-align / decoration / transform / indent
  • line-height 与可读性(正文 1.5–1.8)· letter-spacing / word-spacing
  • white-space 与换行控制
  • 溢出省略:单行三件套 与 多行 -webkit-line-clamp

练习 · 15 min

完成一段图文排版:正文字号 16px、行高 1.7;做一处单行溢出省略(长标题)与一处两行溢出省略(简介)。

验收:省略号成功出现;调整窗口宽度时截断位置正确。

单行省略三件套:overflow: hidden + white-space: nowrap + text-overflow: ellipsis,少一个都不生效。

// 模块二 · 第 14 课

盒模型

讲授 · 25 min

  • 四层结构:content / padding / border / margin
  • box-sizing: border-box 为什么是行业默认选择
  • margin 简写顺序(上右下左)与 margin: 0 auto 居中
  • 相邻 margin 合并(塌陷)现象 · 元素实际宽度公式

练习 · 15 min

用盒模型复原一个按钮和一个卡片;分别用 content-box 与 border-box 各做一次,写下两次的实际尺寸差异。

验收:能算出 width:100px + padding:20px 在两种模式下的真实宽度。

经典坑:宽度写 100% 再加 padding 导致横向溢出 —— 根因就是没设 border-box。

// 模块二 · 第 15 课

背景与装饰

讲授 · 25 min

  • background:color / image / repeat / position / size / 多重背景
  • border-radius 圆角与胶囊按钮
  • box-shadow 多层阴影营造层次 · text-shadow
  • linear-gradient / radial-gradient · background-clip: text

练习 · 15 min

做 3 个不同风格的卡片(例如:极简白、渐变霓虹、深色悬浮),用圆角、阴影、渐变各组合一次。

验收:阴影有三层以上参数(偏移 + 模糊 + 透明色);渐变方向正确;卡片视觉上"有层次"。

// 模块二 · 第 16 课 · 阶段实战

阶段实战二 · 美化个人页

课堂流程 · 45 min

  • 8′ 讲排版系统:字号阶梯与间距节奏(4 / 8 / 16 / 24 / 32 / 48)
  • 8′ 讲颜色系统:1 个主色 + 5 档中性色
  • 25′ 改造第 8 课的个人页(结构不动,只改样式)
  • 4′ 投屏展示与点评

验收标准

  • 使用 CSS 变量,样式表无硬编码颜色
  • 字号不超过 6 级,间距成体系
  • 至少有 1 个卡片组件和 1 个按钮组件
  • 全页无内联样式;HTML 结构基本未改动

// module 02 · summary

本模块交付物 · 美化后的个人页

交付物

  • style.css —— 外部样式表,页面无内联样式
  • 颜色与字号变量体系(CSS 变量)
  • 至少 1 个卡片组件 + 1 个按钮组件

验收标准

  • 使用 CSS 变量,样式表无硬编码颜色
  • 字号不超过 6 级,间距成体系
  • HTML 结构基本未改动,只改样式
  • 改一个变量,全站颜色同时生效

关键要求是「结构不动、只改样式」——让学生亲身体会结构与表现是分开的,同一个骨架换一套 CSS 就是另一种风格。

S 演讲者视图 · T 切换主题 · ← → 翻页 · F 全屏 · O 总览 · R 重置计时