nth 元素选择

当我们要一组 class 同名,或者连续的一组元素的其中一个,或者某种规律的元素添加单独样式的时候,不妨看看这类的元素选择器。

1. 官方定义

  • nth-child(n) 选择器匹配属于其父元素的第 N 个子元素;
  • nth-last-child(n) 选择器匹配属于其元素的第 N 个子元素的每个元素,从最后一个子元素开始计数;
  • nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素的每个元素。

2. 慕课解释

nth-child(n)nth-last-child(n)nth-of-type(n) 都是用来匹配父元素内部子元素的。不过也有些区别:
nth-child 按照个数来算;
nth-of-type 按照类型来计算;
nth-last-child(n) 从最后一个子元素往前开始计算。

3. 语法

.item:nth-child(2n+1){

}
.item:nth-of-type(n){

}
.item:nth-last-child(2n){

}

n 从 0 开始计数的正整数。

4. 兼容性

IE Edge Firefox Chrome Safari Opera ios android
all all all all all all all all

5. 实例

选择 demo 内第 3 个子元素背景为红色。

  1. 使用 nth-child
.item{
    width: 100px;
    height: 100px;
    text-align: center;
    line-height: 100px;
    border: 1px solid #ccc;
    background: #f2f2f2;
}
.item:nth-child(3){
    background: red;
}

效果图:

图片描述

第三个背景变红效果图
实例演示
预览 复制