前端项目开发中,需要根据行数的奇数和偶数的不同,设置不同的颜色显示,以在视觉上给用户以良好的浏览体验,这里就需要使用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的不同之处就是查找元素的方式不同。前者是查找兄弟元素中某个绝对位置的元素,后者是查找同类型元素中某个绝对位置的元素。
相同之处是,两者都是找到元素之后再与前面的选择符进行匹配,这里的匹配方式是一样的。
稍微往下延伸,清楚了查找方式,那么不管前面的选择符怎么变,最后都是先查找到元素再与前面的选择符进行匹配。
也就是说选择符与他们的查找方式没有关系。