CSS规则是层叠样式表中最基本的语法单元,它告诉浏览器应该如何渲染页面中的某些元素。一条完整的CSS规则由选择器和声明块两部分构成,浏览器根据规则将样式应用到匹配的HTML节点上。

CSS规则的基本结构
最常见的CSS规则写法如下,其中p是选择器,大括号内部是声明块:
/* 一条简单的CSS规则 */
p {
color: #333;
font-size: 16px;
}
选择器负责找到目标元素,声明块由一个或多个声明组成,每个声明包含属性和值,中间用冒号分隔,结尾用分号结束。
选择器类型
- 元素选择器:直接写标签名,如
div、span - 类选择器:以小数点开头,如
.btn - ID选择器:以井号开头,如
#header - 属性选择器:用方括号匹配属性,如
input[type="text"]
声明块与属性值
声明块中的每一条声明都形如属性: 值;。例如要让链接去掉下划线,可以写成:
a {
text-decoration: none;
}
如果同一个选择器写了多个声明,它们会全部生效,除非某些属性被后面的规则覆盖。
层叠与特异性
当多条CSS规则作用在同一个元素上时,浏览器通过层叠机制决定最终样式。层叠主要看三个方面:
- 来源优先级:作者样式通常高于浏览器默认样式
- 特异性:ID选择器比类选择器权重大,类选择器比元素选择器权重高
- 书写顺序:特异性相同时,后面写的规则覆盖前面的
下面用一个表格说明常见选择器的特异性权重:
| 选择器 | 示例 | 特异性 |
|---|---|---|
| 元素选择器 | p | 0,0,1 |
| 类选择器 | .box | 0,1,0 |
| ID选择器 | #main | 1,0,0 |
特异性冲突示例
<style>
p { color: black; }
.text { color: red; }
#intro { color: blue; }
</style>
<p id="intro" class="text">这段文字最终显示为蓝色</p>
因为ID选择器特异性最高,所以文字颜色由#intro规则决定。
编写可读的CSS规则
实际项目中建议把通用样式放在前面,组件样式放在后面,并合理使用类选择器而非深层级的元素嵌套。这样既能利用层叠,也方便后期维护。理解CSS规则是什么,是写好样式表的第一步。