伪类选择器

151 阅读2分钟

伪类选择器

结构伪类

nth-child-数字

p:nth-child(1){

​ color: red;

p:nth-child(3n+1){

​ color: red;

odd 奇数 2n+1

even 偶数 2n

取前五

p:nth-child(-n+5){

​ color: green;

取前三

p:nth-child(-n+3){

​ color: red;

交集选择器

交集选择器:

​ 是一个p元素

​ 同时作为子元素的第一个元素

​ p:nth-child(1){

​ color: red;

​ }

后代选择器

后代选择器:

​ 选择p元素,但是后面是一个空格,选p的后代

​ 选择后代的第一个子元素

p :nth-child(1){

​ color: green;

}

nth-of-type()

nth-of-type()用法和nth-child()类似

不同点

​ nth-of-type()计数时只计算同种类型的元素

nth-of-type(2)中变红的是只算p的个数中第二个p

​ 文字内容1 是第一个p

​ 文字内容2 是div中的第一个p

​ 文字内容3 是div>div中的 第一个p

​ 文字内容4 是第二个div中的第一个p(第二个标签,第一个是div)

​ 文字内容5 是第二个div中的第二个p 所以文字内容5变红

​ 文梓内容6 是第二个p元素 所以文字内容6变红


结构伪类的补充转换

1、:first-child,等同于 :nth-child(1)

2、:last-child, 等同于 :nth-last-child(1)

3、:first-of-type,等同于 :nth-of-type(1)

4、:last-of-type, 等同于 :nth-last-of-type(1)

5、:only-child , 是父元素中的唯一子元素

​ 注:在使用only-child时候

​ 我们希望在父元素中的唯一子元素变成红色

​ 但是会出现所有元素都变成红色的情况

​ 原因是因为在这个文档中 也是唯一的元素而没有兄弟元素

​ 所以避免这种情况出现

​ 我们可以使用 body :only-child

​ 使他锁定在body中 而不会带上html

6、only-of-type, 是父元素中唯一的这种类型的子元素

7、root , 根元素,就是HTML元素

:only-of-type


伪类root根目录

以下两种设置html 是一样的

html{

}

:root{

}

伪类empty

对p和最后一个div的空元素做高度背景色设置

否定伪类

:not()的格式是:not(x)

​ x是一个简单选择器 不可以放复杂的

​ 可以是元素选择器、通用选择器、属性选择器、类选择器、id选择器、伪类(除否定伪类)

伪元素

常见的伪元素