[分享]什么是CSS样式表
什么是 CSS 样式表?
当你打开一个网页时,文字的字体、颜色、大小,图片的位置,背景的颜色,元素之间的间距——所有这些视觉呈现,都由 CSS 来定义。
CSS(Cascading Style Sheets,层叠样式表) 是一种用于控制网页外观和排版布局的样式表语言。它的核心功能非常简单:告诉浏览器"这个元素应该长什么样"。
为什么要用 CSS?
在 CSS 出现之前,网页的样式直接在 HTML 中定义。比如要让文字变成红色,就要在 HTML 标签上写 <font color="red">。这种方式有几个明显的缺陷:
- 代码冗余:每个需要修改的文字都要单独加上样式属性。
- 维护困难:如果要把全站的红色文字改为蓝色,需要逐个修改每个标签。
- 内容与样式混杂:HTML 负责内容结构,样式代码穿插其中,代码可读性极差。
CSS 解决了这些问题。它将内容的编写和样式的定义分开,让 HTML 专注于页面结构,CSS 专注于视觉呈现。
CSS 的核心概念
1. "层叠"的含义
CSS 中的"C"代表"Cascading(层叠)",这是 CSS 最核心的机制。它指的是多条样式规则可以同时作用于同一个 HTML 元素,浏览器会按照一定的优先级规则来决定最终应用哪个样式。
"层叠"有三层含义:
- 样式来源的层叠:浏览器默认样式、用户自定义样式、开发者定义的样式,按优先级依次覆盖。
- 选择器优先级的层叠:不同的 CSS 选择器有不同的权重,权重高的覆盖权重低的。
- 样式位置的层叠:内联样式、页面内部样式、外部样式文件,按一定规则进行覆盖。
2. CSS 的基本语法
CSS 由一条条"规则"组成,每条规则包含选择器和声明块。
1 | 选择器 { |
| 组成部分 | 说明 | 示例 |
|---|---|---|
| 选择器 | 指定要应用样式的 HTML 元素 | p、#header、.intro |
| 属性 | 要修改的样式特征 | color、font-size、margin |
| 值 | 属性的具体设置 | red、16px、10px |
示例:
1 | /* 将所有段落文字设为蓝色,字号为 16px */ |
CSS 的三种使用方式
1. 外部样式表
将 CSS 代码写在独立的 .css 文件中,在 HTML 中通过 <link> 标签引入。这是最推荐的方式,适合多页面共享样式,便于维护。
1 | <!-- HTML 中引用 --> |
1 | /* style.css 文件内容 */ |
2. 内部样式表
在 HTML 的 <head> 中使用 <style> 标签编写 CSS。适用于单个页面的独有样式。
1 | <head> |
3. 内联样式
直接在 HTML 元素的 style 属性中定义样式。不推荐使用,因为它将样式和内容混在一起,难以维护,且优先级最高会覆盖其他所有样式。
1 | <p style="color: red; font-size: 20px;">这是一段文字</p> |
选择器:CSS 的"瞄准镜"
选择器用于定位需要应用样式的 HTML 元素,它是 CSS 最基础也最灵活的部分。
| 选择器类型 | 语法 | 说明 | 示例 |
|---|---|---|---|
| 标签选择器 | 标签名 |
选中所有该标签的元素 | p { color: red; } |
| 类选择器 | .类名 |
选中所有带有该 class 的元素 | .intro { font-weight: bold; } |
| ID 选择器 | #ID名 |
选中具有该 id 的唯一元素 | #header { height: 80px; } |
| 后代选择器 | 父 子 |
选中父元素内的所有子元素 | div p { color: blue; } |
| 子选择器 | 父 > 子 |
选中父元素的直接子元素 | ul > li { list-style: none; } |
| 伪类选择器 | :状态 |
选中元素的特定状态 | a:hover { color: red; } |
| 伪元素选择器 | ::位置 |
选中元素的特定部分 | p::first-line { font-weight: bold; } |
层叠与优先级
当多条 CSS 规则作用于同一个元素时,浏览器会根据优先级规则决定使用哪一条。
优先级顺序(从高到低):
- 内联样式:写在元素
style属性中的样式 - ID 选择器:如
#header - 类选择器、伪类、属性选择器:如
.intro、:hover、[type="text"] - 标签选择器、伪元素:如
p、::first-line - 通配选择器:如
* - 浏览器默认样式
当多个选择器优先级相同且作用于同一元素时,后定义的样式覆盖先定义的样式。
CSS 能做什么?
CSS 几乎可以控制网页的所有视觉方面:
- 文字样式:字体、字号、颜色、粗细、行高、字间距。
- 背景:背景色、背景图、渐变。
- 盒模型:边距、边框、内边距、宽度、高度。
- 布局:浮动、弹性盒子(Flexbox)、网格(Grid)、定位。
- 动画与过渡:旋转、缩放、移动、渐变过渡。
- 响应式设计:根据屏幕尺寸、设备类型调整布局。
- 打印样式:控制页面打印时的显示效果。
CSS 的版本演进
| 版本 | 发布年份 | 主要特点 |
|---|---|---|
| CSS 1 | 1996 | 基本样式(字体、颜色、边距等) |
| CSS 2 | 1998 | 添加了定位、伪类、媒体类型等 |
| CSS 2.1 | 2011 | 修复和规范了 CSS 2 |
| CSS 3 | 2011 起持续演进 | 模块化发布,新增圆角、阴影、动画、Flexbox、Grid、渐变等 |
CSS 3 与之前的版本最大的不同是采用了模块化的方式,不再有一个完整的"CSS 3"标准,而是将功能拆分为独立的模块(如 Selectors、Media Queries、Flexbox、Grid、Transitions、Animations 等),每个模块独立更新和推进。
总结
CSS 是 Web 的"视觉设计师"——它和 HTML 共同构成了网页的基础。如果说 HTML 是房子的混凝土框架,CSS 就是墙面涂料、地板砖和窗帘,决定了房子的外观和氛围。
掌握 CSS 的核心在于理解三个层面的内容:选择器(如何选中元素)、盒模型(元素如何占据空间)、布局(元素如何在页面上排列)。当你熟练运用这些概念后,就能构建出视觉美观、响应式适配的现代网页。






![[分享]什么是CSS样式表](/../blogimage/260730/260730_4.webp)
![[分享]CSS的基本语法](/../blogimage/260730/260730_5.webp)
![[分享]JavaScript的其他WebAPI](/../blogimage/260730/260730_3.webp)