首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS 选择器 nth-child 的几种用法

CSS 选择器 nth-child 的几种用法

作者头像
德顺
发布2019-11-13 17:23:25
3.8K0
发布2019-11-13 17:23:25
举报
文章被收录于专栏:前端资源前端资源

在开发过程中,会碰到一些选择器的需求:

例如使列表中的第一项或者最后一项显示不同的样式 、列表中的奇数或者偶数项显示不同的背景色 . . .  等等。

我们可以通过 CSS 来实现这样的效果,CSS 给我们提供了几个样式参数:first-child、last-child、nth-child(n)。

下面介绍它们的使用方法:

first-child first-child:选择列表中的第一个标签。

举例:第一行字体显示为红色,代码如下:

li:first-child{
    color: red;
}

last-child last-child:选择列表中的最后一个标签。

举例,最后一行字体显示为绿色,代码如下:

li:last-child{
    color: green;
}

nth-child(n) nth-child(n):选择列表中的第 n 个标签。

举例:第三行字体显示为蓝色,代码如下:

li:nth-child(3){
    color: blue;
}

nth-child(odd) nth-child(odd):选择列表的奇数行。

举例,奇数行背景显示为灰色,代码如下:

li:nth-child(odd){
    background: #999;
}

我们可以通过另外的方法选择奇数行,例如: nth-child(n+1) 、 nth-child(2n-1) 等。

代码如下:

/*First*/
li:nth-child(n+1){
    background: #999;
}
/*Second*/
li:nth-child(2n-1){
    background: #999;
}

nth-child(even) nth-child(even):选择列表的偶数行。

举例:偶数行背景显示为土黄色(不要在意那些细节),代码如下:

li:nth-child(even){
    background: #F6E0AF;
}

同样,我们可以通过另外的方法选择奇数行,例如: nth-child(2n) 。

代码如下:

li:nth-child(2n){
    background: #F6E0AF;
}

上面的几种方法运行效果如下图:

CSS 选择器 nth-child 的几种用法 HTML笔记 第1张
CSS 选择器 nth-child 的几种用法 HTML笔记 第1张

上面是几种比较常见的选择方法,我们还可以通过 CSS 更灵活的进行选择,有下面几种方法:

nth-child(-n+n) nth-child(-n+n):选择第 n 个之前的元素(此处的 n 是后面的那个,下同)。

举例:前三行背景色设置为绿色,代码如下:

li:nth-child(-n+3){
    background: #2cae1d;
}

nth-child(n+n) nth-child(n+n):选择第 n 个之后的元素。

举例:第五行及以后背景色设置为蓝色,代码如下:

li:nth-child(n+5){
    background: #0ab1fc;
}

nth-last-child(n) nth-last-child(n):选择倒数第 n 个元素。

举例:倒数第三元素字体设置为红色,代码如下:

li:nth-last-child(3){
    color: red;
}

同样可以使用上面的方法进行拓展,方法如下:

nth-last-child(n+n) nth-last-child(n+n):选择倒数第 n 个之前的元素。

举例:倒数第三个及之前的元素字体设置为粗体,代码如下:

li:nth-last-child(n+3){
    font-weight: bold;
}

上面的几种方法运行效果如下图:

CSS 选择器 nth-child 的几种用法 HTML笔记 第2张
CSS 选择器 nth-child 的几种用法 HTML笔记 第2张

nth-last-child(3n) nth-last-child(3n):选择第 3、6、. . .  个元素,选择三的倍数。

举例:第3、6、 . . .  三的倍数行背景色设置为橙色,代码如下:

li:nth-child(3n){
    background: orange;
}

nth-last-child(3n+1) nth-last-child(3n+1):选择第 1、4、7 个元素,从第一个开始每个递增三个。

举例:第1、4、7 . . .  行背景色设置为红色,代码如下:

li:nth-child(3n+1){
    background: red;
}

上面的几种方法运行效果如下图:

CSS 选择器 nth-child 的几种用法 HTML笔记 第3张
CSS 选择器 nth-child 的几种用法 HTML笔记 第3张

当然,可能还有更多的使用方法,我在这只是简单的记录一下我常用的几种,也希望大家能够举一反三,能在项目中更好的利用起来。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-26),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档