CSS 简介
在动手写第一行 CSS 之前,我们先搞清楚几个根本问题:CSS 到底是什么?为什么需要它?它和 HTML 是什么关系?它的"层叠"两个字又是什么意思?理解了这些,后面的语法学习会顺畅得多。
CSS 是什么?
CSS 全称 Cascading Style Sheets(层叠样式表)。它是一种专门用来描述网页"长什么样"的语言——用什么颜色、多大字号、多宽多高、摆在什么位置、要不要圆角阴影,全都由 CSS 控制。
如果把网页比作一个人:HTML 是骨架和器官,CSS 是皮肤、衣服和妆容。同一个 HTML 结构,换一套 CSS,观感可以完全不同——同样的内容能做出极简、科技、复古、可爱等截然不同的风格。这也是为什么前端工程师常说"HTML 决定是什么,CSS 决定长什么样"。
CSS 简史:从"被嫌弃"到"网页的灵魂"
CSS 诞生于 1996 年,由 Håkon Wium Lie 和 Bert Bos 在 CERN(欧洲核子研究中心)提出。当时的网页几乎只有文字和图片,样式靠 HTML 标签的属性硬写(比如下面这种),代码又乱又难维护。
<!-- 早期 HTML4 用属性直接写样式(已废弃) -->
<font color="red" size="5">重要通知</font>
<table bgcolor="#f0f0f0" border="1">
<tr><td>内容</td></tr>
</table>
<!-- 现代 HTML 只关心结构和语义,样式交给 CSS -->
<p class="notice">重要通知</p>于是人们设计出 CSS,把"样式"从"结构"里彻底抽离出来。CSS 的版本演进大致是:
- CSS1(1996):第一个正式版本,定义了基本样式属性(颜色、字体、边距、边框等)和选择器。
- CSS2(1998):加入了定位(position)、媒体类型(media type)、相对/绝对定位等能力,布局开始变灵活。
- CSS3(2009 起):最重要的变化——它不再是单一规范,而是被拆成上百个独立模块(选择器、Flexbox、Grid、动画、变换、变量、滤镜……),各自独立演进。这也是为什么现代 CSS 功能越来越强大、迭代越来越快。
今天我们说的"学 CSS",本质上是在学 CSS3 的各个模块。规范在持续更新,新特性(如容器查询、子网格、has 选择器)还在不断加入。
为什么需要 CSS?三大核心理由
- 结构与样式分离:HTML 只描述内容的语义(这是标题、那是段落),CSS 描述外观。代码清晰、各司其职,维护起来轻松。
- 一份样式表复用全站:一个外部 CSS 文件可以被站点里成百上千个 HTML 页面共用,改一处全站生效。早期改个主色要逐页改 HTML 的日子一去不复返。
- 适配多端:同一份 HTML,配合媒体查询,可以分别给桌面、平板、手机、打印机应用不同样式,内容不用改。
"层叠"两个字是什么意思?
CSS 名字里的 Cascading(层叠)是它最核心的设计。意思是:多条样式规则可以同时作用到同一个元素,浏览器按一套明确的规则决定最终用哪一条。这套规则主要看三样东西:
- 优先级(Specificity):ID 选择器 > 类/伪类/属性 > 标签。越精确的选择器优先级越高。
- 来源:浏览器默认样式 < 用户自定义 < 网页作者写的 CSS。网页作者的样式盖过浏览器默认。
- 顺序:优先级相同时,后写的覆盖先写的。
看个直观的例子,感受"层叠":
<style>
p { color: black; } /* 规则 1:所有段落黑色 */
.note { color: blue; } /* 规则 2:带 note 类的蓝色 */
#hot { color: red; } /* 规则 3:id 为 hot 的红色 */
</style>
<!-- 这个段落会显示什么颜色? -->
<p class="note" id="hot">三种规则都作用到我</p>
<!-- 答案:红色。因为 ID 优先级最高 -->这个段落被三条规则同时作用:标签选择器说黑色,类选择器说蓝色,ID 选择器说红色。最终显示红色,因为 ID 优先级最高。这就是"层叠"——多条规则叠加,按优先级仲裁。后续讲选择器的章节会详细讲优先级算法。
先写第一段 CSS
说了这么多概念,先看一眼真正的 CSS 长什么样。下面这段把标题改成蓝色居中,把段落文字改成深灰:
/* 把所有 h1 标题变成蓝色,居中显示 */
h1 {
color: #4f8cff;
text-align: center;
}
/* 把所有段落文字变深灰 */
p {
color: #333;
line-height: 1.6;
}语法非常简单:选择器 + 一对花括号,括号里写"属性:值"。不懂没关系,下一篇会详细讲。这里你只需要感受:CSS 就是这么直观的东西。
CSS 能做什么?
现代 CSS 能做的事远超大部分人想象。除了基础的改颜色字号,它还能:
- 复杂布局:Flexbox 一行对齐,Grid 切分整页,定位精确叠层。
- 动效:transition 平滑过渡,transform 旋转缩放,@keyframes 关键帧动画。
- 响应式:媒体查询让页面自适应手机/平板/桌面。
- 主题切换:CSS 变量 + 一行 JS,就能实现深色模式。
- 视觉效果:渐变、阴影、滤镜(模糊/灰度)、圆角、剪裁路径,做出现代界面常见的所有质感。
- 进阶能力:容器查询、scroll-driven 动画、view transitions,以及越来越多的"以前必须靠 JS 才能实现"的特性。
该不该学 CSS?
如果你的方向是前端开发、全栈、UI 设计、甚至博客作者,CSS 几乎是必修课。学完本系列,你将能独立把任何设计稿还原成网页、做出自适应多端的页面、构建可切换主题的样式系统。
一个好消息是:CSS 不像编程语言那样需要逻辑思维,它更像是"调参"——改一改属性值,刷新看效果,反复迭代。门槛不高,但上限很高,值得长期投入。
← 返回 CSS 教程目录
下一篇 CSS 语法与引入方式 →