894c4ec84edf792262fe41c011b5e5d8.png

前端项目开发中,需要根据行数的奇数和偶数的不同,设置不同的颜色显示,以在视觉上给用户以良好的浏览体验,这里就需要使用css奇数偶数选择器。

主要用的::nth-of-type或者:nth-child。

方式一:nth-child

 
 
div:nth-child(odd){


} //奇数行


div:nth-child(even){


} //偶数行

:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。

方式二:nth-of-type

 
 
div:nth-of-type(odd){
  //奇数行  
} 
div:nth-of-type(even){
  //偶数行 
}

nth-of-type(n) : 匹配同类型中的第n个同级兄弟元素。

区别:nth-child ()  与 nth-of-type()

nth-child(n) : 匹配父元素中的第 n 个子元素,元素类型没有限制。
nth-of-type(n) : 匹配同类型中的第n个同级兄弟元素。

n可以是一个数字,一个关键字,或者一个公式,比如:nth-child(odd) 奇数 ,nth-child(even) 偶数。

nth-child和nth-of-type的不同之处就是查找元素的方式不同。前者是查找兄弟元素中某个绝对位置的元素,后者是查找同类型元素中某个绝对位置的元素。

相同之处是,两者都是找到元素之后再与前面的选择符进行匹配,这里的匹配方式是一样的。

稍微往下延伸,清楚了查找方式,那么不管前面的选择符怎么变,最后都是先查找到元素再与前面的选择符进行匹配。

也就是说选择符与他们的查找方式没有关系。

延伸:选中最后一个奇数和偶数

这里以nth-child为例:

 
 
// 选中最后一个奇数
div:nth-child(odd):last-child {
    margin-bottom: 0;
}
// 选中最后一个偶数
div:nth-child(even):last-child {
    margin-bottom: 0;
}

本文完~

学习更多技能

请点击下方公众号

51f3dafc07c93384495c4a5d8f6fcff8.gif

372008ad2bde4fd5581b7d774d935b44.png

cd18c6b82164901bc28014f19c7d395b.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐