在CSS样式表中,经常需要进行对网页中元素的选择,而nth-of-type(n)选择器能够帮助我们更加方便快捷地选择需要的元素。

nth-of-type(n)选择器是CSS中的一个伪类选择器,是基于元素类型的选择器。其中,n可以是一个整数、odd或even。
它的使用方式如下所示:
    
        /*选择第n个类型为特定元素的子元素*/
        :nth-of-type(n)
        
        /*选择奇数个类型为特定元素的子元素*/
        :nth-of-type(odd)
        
        /*选择偶数个类型为特定元素的子元素*/
        :nth-of-type(even)
    
这个选择器可以帮助我们对网页中的元素按照一定的规律进行选择,比如选择表格中第2行的所有单元格:
    
        /*选择表格中的第2行所有单元格*/
        tr:nth-of-type(2) td
    
当然,如果我们想要选择表格中的1、3、5行,则可以这样写:
    
        /*选择表格中1、3、5行所有单元格*/
        tr:nth-of-type(odd) td
    
nth-of-type(n)选择器虽然能够帮助我们按照一定规律来选择网页元素,但是它也有一定的局限性。
首先,对于不同的元素类型,nth-of-type(n)选择器只会把他们看作不同类型的元素,而不是按照常规的标签来区分。例如,对于下面这段HTML代码:
    
        
            - 列表1-1
- 列表1-2
            - 列表2-1
- 列表2-2
如果我们想要选择所有的列表项,则需要使用下面的CSS代码:
    
        /*选择所有列表项*/
        li:nth-of-type(n)
    
其次,nth-of-type(n)选择器只能从父元素中进行选择,而不能跨级选择元素。
nth-of-type(n)选择器基本上可以用在所有需要按照一定规律选取元素的场合。例如,我们可以用它来实现根据分辨率屏幕大小来选择不同的字体大小:
    
        /*根据分辨率选择不同的字体大小*/
        @media screen and (max-width: 600px) {
            /*选择所有p元素*/
            p {
                font-size: 16px;
            }
            /*选择第二个p元素*/
            p:nth-of-type(2) {
                font-size: 18px;
            }
            /*选择第三个p元素*/
            p:nth-of-type(3) {
                font-size: 20px;
            }
        }
    
除此之外,nth-of-type(n)选择器还可以用在其他领域,例如在JavaScript中选取DOM元素、对表格进行样式调整等等。