PHP前端开发

css选择器优先级是什么

百变鹏仔 3个月前 (09-19) #CSS
文章标签 优先级
css 选择器优先级按如下顺序决定:特殊性(id > 类 > 类型 > 通配符)来源顺序(行内 > 内部样式表 > 外部样式表 > 用户代理样式表)声明顺序(靠后的声明优先)重要性(!important 强制提高优先级)

CSS选择器优先级

CSS选择器优先级决定了当多个选择器应用于元素时,哪个选择器将被使用。优先级高的选择器将覆盖优先级低的同类型选择器。

CSS选择器优先级由以下四个方面决定,从高到低排列:

1. 特殊性

立即学习“前端免费学习笔记(深入)”;

特殊性由选择器中使用的选择器类型的数量和位置决定。下列类型的选择器特殊性依次增加:

2. 来源顺序

如果两个选择器的特殊性相同,则来源于更具体来源的选择器优先级更高。来源顺序依次为:

3. 声明顺序

如果两个选择器的特殊性和来源顺序都相同,则写在 CSS 文档中靠后的声明优先级更高。

4. 重要性

!important 关键字可以强制提高选择器的优先级。然而,它的使用应避免,因为它会破坏 CSS 的可维护性。

示例:

以下示例说明了优先级的应用:

#primary {  color: red;}.bold {  color: blue;}p {  color: green;}body {  color: black;}p.bold {  color: purple !important;}

在上面的示例中,p.bold 的特殊性为 2(类型选择器 + 类选择器),并且声明中包含 !important,因此具有最高的优先级。因此,对于具有 p.bold 类的段落,p.bold 的样式(紫色)将被应用,而不是 #primary(特殊性为 1)、.bold(特殊性为 1)或 p(特殊性为 0)的样式。