CSS3中:nth-child和:nth-of-type的区别深入理解

1、:nth-child() 选择器
:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型,n 可以是数字、关键词或公式。

2、:nth-of-type(n)
:nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素,n 可以是数字、关键词或公式。

3、具体区别
首先看代码
CSS3中:nth-child和:nth-of-type的区别深入理解_第1张图片
p:nth-of-type(7) 选择的 p元素所在的父元素,下的第7个P元素 即:

第7个p


p:nth-child(6) 选择的 p元素所在的父元素,下的第6个子元素,且该元素是P元素 即:

第5个p

结果
CSS3中:nth-child和:nth-of-type的区别深入理解_第2张图片
4、odd 和 even 是可用于匹配下标是奇数或偶数的子元素的关键词
odd选择奇数 even选择偶数

  1. :nth-child(odd)

CSS3中:nth-child和:nth-of-type的区别深入理解_第3张图片
上述例子p:nth-child(odd):选择的是P的父级元素下的,奇数元素且该元素是P元素, 所以是

第二个段落。

第四个段落。

( p:nth-child(n) n=3和 n=5)

  1. :nth-child(even)

CSS3中:nth-child和:nth-of-type的区别深入理解_第4张图片
-上述例子p:nth-child(even):选择的是P的父级元素下的,偶数元素且该元素是P元素 ,所以是

第一个段落。

第三个段落。

第五个段落。

( p:nth-child(n) n=2和 n=4 和 n=6)

  1. :nth-of-type(odd)
    CSS3中:nth-child和:nth-of-type的区别深入理解_第5张图片
    -上述例子p:nth-of-type(odd):选择的是P的父级元素下的,奇数的P元素 ,所以是

    第一个段落。

    第三个段落。

    第五个段落。

    ( p:nth-of-type(odd) n=1和 n=3 和 n=5)

  2. :nth-of-type(even)
    CSS3中:nth-child和:nth-of-type的区别深入理解_第6张图片
    -上述例子p:nth-of-type(even):选择的是P的父级元素下的,偶数的P元素 ,所以是

    第二个段落。

    第四个段落。

    ( p:nth-of-type(even) n=2和 n=4 )

5、 :nth-of-type(an+b) 和 :nth-of-type(an+b ) 规则和上述阐述的规则一样
a表示周期的长度,n 是计数器(从 0 开始),b 是偏移值。
比如: :nth-of-type( 2n+1) 就是第1,3,5 个P元素
CSS3中:nth-child和:nth-of-type的区别深入理解_第7张图片

你可能感兴趣的:(CSS选择器)