本文最后更新于:2024年4月25日 上午
简单选择器
🍍元素名称选择器
🍍id选择器
🍍class选择器
🍍通用选择器
组合器选择器
🧄后代选择器
🧄子选择器
🧄相邻兄弟选择器
🧄通用兄弟选择器
伪类选择器
🍊锚伪类
:link
,:visited
只对a
元素生效
1 2 3 4 5 6 7
| a:link { }
a:visited{ }
|
:hover
,:active
可对其他元素生效
1 2 3 4 5 6 7
| div:hover, a:hover { }
div:active, a:active { }
|
:target
🍊child类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| div p:first-child { }
div p:last-child { }
p:only-child { }
div:empty { }
|
1 2 3 4 5 6 7
| p:first-of-type { }
p:last-of-type { }
|
🍊nth类
1 2 3 4 5 6 7 8 9 10 11 12 13
| div:nth-child(n) { } :nth-last-child(n) { }
p:nth-of-type(n) { } p:nth-last-of-type(n) { }
|
n
可以是具体整数或odd
(选中奇数)even
(选中偶数)
还可以是f(n)
,如(3n+1)
为从第一个开始每隔3个选中一个
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| input:checked { } input:focus { }
input:enable { } input:disable { }
input:required { } input:optional { }
input:read-only { } input:read-write { }
input:in-range { } input:out-of-range { }
input:valid { } input:invalid { }
|
🍊其他
伪元素选择器
使用伪元素来写装饰性元素可以提升语义化
🍐字符元素
1 2 3 4 5 6 7 8 9 10 11 12
| p::first-letter { }
p::first-line { }
p::selection { }
|
🍐插入
content
属性必选,默认行内元素
1 2 3 4 5 6 7 8 9
| p::before { content: '' }
p::after { content: '' }
|
属性选择器
可与其他选择器组合使用
🍒使用某属性
🍒属性值全匹配
🍒属性值包含狭义
1 2 3 4 5 6
| <img src="url" alt="云" />
<img src="url" alt="云朵" />
<img src="url" alt="云 朵" />
|
🍒属性值包含广义
1 2 3 4 5 6
| <img src="url" alt="云" />
<img src="url" alt="云朵" />
<img src="url" alt="云 朵" />
|
🍒属性值开头侠义
1 2 3 4 5 6 7 8
| <img src="url" alt="云" />
<img src="url" alt="云朵" />
<img src="url" alt="云 朵" />
<img src="url" alt="朵 云" />
|
🍒属性值开头广义
1 2 3 4 5 6 7 8
| <img src="url" alt="云" />
<img src="url" alt="云朵" />
<img src="url" alt="云 朵" />
<img src="url" alt="朵云" />
|
选择器优先级
Level: 0
浏览器默认<
继承<
*选择器
Level: 🥕
Level: 🥕🥕
Level: 🥕🥕🥕
Level: 🥕🥕🥕🥕
1
| <p style="color: #f2f3f5"></p>
|
Level: 🥕🥕🥕🥕🥕
1 2 3
| div { color: #f2f3f5 !important; }
|
同级选择器越靠后等级越高