返回
CSS选择器详解
前端
2023-09-25 08:55:51
CSS知识体系之CSS选择器
CSS选择器是CSS语言的基石,它使我们能够指定HTML元素,以便应用样式规则。CSS选择器种类繁多,每种选择器都有独特的用途,可以帮助我们精确地选择所需的元素。
通用选择器
- * (星号) :匹配所有元素。
元素选择器
- 元素名 :匹配具有指定元素名的所有元素。例如,
p
匹配所有段落元素。
类选择器
- .类名 :匹配具有指定类名的所有元素。例如,
.btn
匹配所有具有“btn”类的元素。
ID选择器
- #ID名 :匹配具有指定ID的唯一元素。例如,
#header
匹配具有ID“header”的元素。
属性选择器
- [属性名] :匹配具有指定属性的元素。例如,
[href]
匹配所有具有“href”属性的元素。 - [属性名="属性值"] :匹配属性值等于指定值的元素。例如,
[href="/index.html"]
匹配“href”属性值为“/index.html”的元素。 - [属性名^="属性值前缀"] :匹配属性值以指定前缀开头的元素。例如,
[href^="https://"]
匹配“href”属性值以“https://”开头的元素。 - **[属性名="属性值后缀"]** :匹配属性值以指定后缀结尾的元素。例如,`[href=".pdf"]` 匹配“href”属性值以“.pdf”结尾的元素。
- [属性名="属性值包含"]* :匹配属性值包含指定子字符串的元素。例如,
[href*="example"]
匹配“href”属性值包含“example”的元素。
伪类选择器
- :first-child :匹配父元素中的第一个子元素。
- :last-child :匹配父元素中的最后一个子元素。
- :nth-child(n) :匹配父元素中第n个子元素。例如,
:nth-child(2)
匹配父元素中的第二个子元素。 - :hover :当鼠标悬停在元素上时匹配该元素。
伪元素选择器
- ::before :在元素之前插入内容。
- ::after :在元素之后插入内容。
组合选择器
选择器可以组合使用以实现更复杂的选择。
- 元素1 元素2 :匹配同时满足元素1和元素2条件的元素。
- 元素1 > 元素2 :匹配元素1的直接子元素元素2。
- 元素1 + 元素2 :匹配元素1之后紧邻的元素2。
- 元素1 ~ 元素2 :匹配元素1之后的任何元素2。
优先级
当多个选择器匹配同一元素时,优先级决定哪个选择器生效。优先级顺序如下:
- 内联样式
- ID选择器
- 类选择器、属性选择器和伪类选择器
- 元素选择器和通配符选择器
通过熟练掌握CSS选择器,我们可以实现对HTML元素的精准控制,从而创建出更强大、更灵活的样式表。