CSS选择器用于选择HTML文档中的元素,并为其应用样式。
以下是常见的CSS选择器:
-
元素选择器(Element selector):通过元素名称选择元素,例如
p选择所有<p>元素。 -
类选择器(Class selector):通过类名选择元素,以
.开头,例如.my-class选择具有class="my-class"的元素。 -
ID选择器(ID selector):通过元素的唯一ID选择元素,以
#开头,例如#my-id选择具有id="my-id"的元素。 -
属性选择器(Attribute selector):通过元素的属性选择元素,例如
[type="text"]选择具有type="text"的元素。 -
后代选择器(Descendant selector):通过元素的后代关系选择元素,使用空格分隔,例如
div p选择<div>元素内的所有<p>元素。 -
子选择器(Child selector):通过元素的直接子元素关系选择元素,使用
>分隔,例如ul > li选择<ul>元素下的直接子元素<li>。 -
相邻兄弟选择器(Adjacent sibling selector):选择与指定元素相邻的同级兄弟元素,使用
+分隔,例如h2 + p选择<h2>元素后紧邻的<p>元素。 -
通用选择器(Universal selector):选择所有元素,使用
*表示。
CSS选择器的优先级排列顺序如下(从高到低):
-
!important:具有最高优先级,通过在样式声明中使用!important关键字。 -
内联样式(Inline style):通过在元素的
style属性中直接定义样式。 -
ID选择器(ID selector):通过元素的唯一ID选择元素。
-
类选择器(Class selector)、属性选择器(Attribute selector)和伪类选择器(Pseudo-class selector):通过类名、属性名或伪类选择元素。
-
元素选择器(Element selector)和伪元素选择器(Pseudo-element selector):通过元素名称或伪元素选择元素。
-
通配选择器(Universal selector)和子选择器(Child selector):通配选择器选择所有元素,子选择器选择特定元素的直接子元素。
当多个规则具有相同的优先级时,后面出现的规则将覆盖前面的规则。如果多个规则具有不同的优先级,具有较高优先级的规则将被应用。
需要注意的是,滥用 !important 可能会导致样式的维护和扩展困难,应谨慎使用。