---
title: "CSS样式语法基础"
url: "https://yjyj.net/learn/3904.html"
author: "小 虾 (生猛大蝦编辑部)"
published_at: "2006-04-01T01:59:59+08:00"
updated_at: "2006-04-01T01:59:59+08:00"
categories: "招数学习"
tags: "CSS布局技巧, 前端开发实战, 网页视觉设计"
summary: "这篇《CSS样式语法基础》把 CSS 最核心的入门语法一次讲透：选择符、属性和值怎么写，多个属性如何分号分隔，类选择符、ID 选择符、包含选择符与层叠继承又该怎么用。适合刚接触前端的人快速建立样式表思维，少踩语法坑，直接把页面样式写对。"
source: "生猛大蝦 (https://yjyj.net)"
---

# CSS样式语法基础

> 来源：[生猛大蝦 (yjyj.net)](https://yjyj.net/learn/3904.html) · 作者：小 虾 · 发布时间：2006-04-01

## 30 秒核心看点 (TL;DR)

- 先记住 CSS 基本格式：选择符 + 属性 + 值，多个属性用分号隔开。
- 类选择符适合复用样式，ID 选择符适合单一元素，别把两者混用。
- 包含选择符和层叠继承是关键：外层样式会传给内层，但并非所有属性都继承。

1. 基本语法
CSS的定义是由三个部分构成：选择符（selector），属性（properties）和属性的取值（value）。
基本格式如下：
selector {property: value}
（选择符 {属性：值}）
选择符是可以是多种形式，一般是你要定义样式的HTML标记，例如BODY、P、TABLE……，你可以通过此方法定义它的属性和值，属性和值要用冒号隔开：
body {color: black}
选择符body是指页面主体部分，color是控制文字颜色的属性，black是颜色的值，此例的效果是使页面中的文字为黑色。
如果属性的值是多个单词组成，必须在值上加引号，比如字体的名称经常是几个单词的组合：
p {font-family: "sans serif"}
（定义段落字体为sans serif）
如果需要对一个选择符指定多个属性时，我们使用分号将所有的属性和值分开：
p {text-align: center; color: red}
（段落居中排列；并且段落中的文字为红色）
为了使你定义的样式表方便阅读，你可以采用分行的书写格式：
p
{
text-align: center;
color: black;
font-family: arial
}
（段落排列居中，段落中文字为黑色，字体是arial）
2. 选择符组
你可以把相同属性和值的选择符组合起来书写，用逗号将选择符分开，这样可以减少样式重复定义：
h1, h2, h3, h4, h5, h6 { color: green }
（这个组里包括所有的标题元素，每个标题元素的文字都为绿色）
p, table{ font-size: 9pt }
（段落和表格里的文字尺寸为9号字）
效果完全等效于：
p { font-size: 9pt }
table { font-size: 9pt }
3. 类选择符
用类选择符你能够把相同的元素分类定义不同的样式，定义类选择符时，在自定类的名称前面加一个点号。假如你想要两个不同的段落，一个段落向右对齐，一个段落居中，你可以先定义两个类：
p.right {text-align: right}
p.center {text-align: center}
然后用不在不同的段落里，只要在HTML标记里加入你定义的class参数：
 这个段落向右对齐的

这个段落是居中排列的

注意：类的名称可以是任意英文单词或以英文开头与数字的组合，一般以其功能和效果简要命名。
类选择符还有一种用法，在选择符中省略HTML标记名，这样可以把几个不同的元素定义成相同的样式：
.center {text-align: center}
（定义.center的类选择符为文字居中排列）
这样的类可以被应用到任何元素上。下面我们使h1元素（标题1）和p元素（段落）都归为“center”类，这使两个元素的样式都跟随“.center”这个类选择符：

## 
这个标题是居中排列的

这个段落也是居中排列的

注意：这种省略HTML标记的类选择符是我们经后最常用的CSS方法，使用这种方法，我们可以很方便的在任意元素上套用预先定义好的类样式。
4. ID选择符
在HTML页面中ID参数指定了某个单一元素，ID选择符是用来对这个单一元素定义单独的样式。
ID选择符的应用和类选择符类似，只要把CLASS换成ID即可。将上例中类用ID替代：

这个段落向右对齐

定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同，定义ID选择符的属性也有两种方法。下面这个例子，ID属性将匹配所有id="intro"的元素：
#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
（字体尺寸为默认尺寸的110%；粗体；蓝色；背景颜色透明）
下面这个例子，ID属性只匹配id="intro"的段落元素：
p#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
注意：ID选择符局限性很大，只能单独定义某个元素的样式，一般只在特殊情况下使用。
5. 包含选择符
可以单独对某种元素包含关系定义的样式表，元素1里包含元素2，这种方式只对在元素1里的元素2定义，对单独的元素1或元素2无定义，例如：
table a
{
font-size: 12px
}
在表格内的链接改变了样式，文字大小为12象素，而表格外的链接的文字仍为默认大小。
6. 样式表的层叠性
层叠性就是继承性，样式表的继承规则是外部的元素样式会保留下来继承给这个元素所包含的其他元素。事实上，所有在元素中嵌套的元素都会继承外层元素指定的属性值，有时会把很多层嵌套的样式叠加在一起，除非另外更改。例如在DIV标记中嵌套P标记：
div { color: red; font-size:9pt}
……

这个段落的文字为红色9号字

（P元素里的内容会继承DIV定义的属性）
注意：有些情况下内部选择符不继承周围选择符的值，但理论上这些都是特殊的。例如，上边界属性值是不会继承的，直觉上，一个段落不会同文档BODY一样的上边界值。
另外，当样式表继承遇到冲突时，总是以最后定义的样式为准。如果上例中定义了P的颜色：
div { color: red; font-size:9pt}
p {color: blue}
……

这个段落的文字为蓝色9号字

我们可以看到段落里的文字大小为9号字是继承div属性的，而color属性则依照最后定义的。
不同的选择符定义相同的元素时，要考虑到不同的选择符之间的优先级。ID选择符，类选择符和HTML标记选择符，因为ID选择符是最后加上元素上的，所以优先级最高，其次是类选择符。如果想超越这三者之间的关系，可以用!important提升样式表的优先权，例如：
p { color: #FF0000!important }
.blue { color: #0000FF}
#id1 { color: #FFFF00}
我们同时对页面中的一个段落加上这三种样式，它最后会依照被!important申明的HTML标记选择符样式为红色文字。如果去掉!important，则依照优先权最高的ID选择符为黄色文字。
7. 注释
你可以在CSS中插入注释来说明你代码的意思，注释有利于你或别人以后编辑和更改代码时理解代码的含义。在浏览器中，注释是不显示的。CSS注释以"/*" 开头，以"*/" 结尾，如下：
/* 定义段落样式表 */
p
{
text-align: center; /* 文本居中排列 */
color: black; /* 文字为黑色 */
font-family: arial /* 字体为arial */
}

## 延伸问答与排错指南 (FAQ)

### CSS 语法最基本的写法是什么？
最基本格式是“选择符 { 属性: 值 }”。例如 body { color: black }，表示给 body 里的文字设为黑色。如果一个规则里有多个属性，就用分号分隔；属性值是多个单词时，通常要加引号。

### 类选择符和 ID 选择符有什么区别？
类选择符用“.”开头，适合给多个元素复用同一套样式；ID 选择符用“#”开头，通常只对应页面中的单一元素。实际写法上，类更灵活，ID 更适合特殊定位或唯一元素样式。

### 什么是 CSS 的层叠性和继承性？
层叠性/继承性指外层元素设置的样式，内部嵌套元素可能会自动继承。例如 div 里设了 color 和 font-size，里面的 p 往往会沿用这些值。但并不是所有属性都会继承，像边界类属性通常不会自动继承。

---
更多 Linux 运维、WordPress 性能优化、前端工程化、Shopify 独立站与极客折腾指南：[生猛大蝦全站文章归档 (https://yjyj.net/archive)](https://yjyj.net/archive)
