css连续选取几个li_CSS选取第几个标签元素:nth-child、first-child、last-child

在前端开发中,我们可能会碰到这样的需求:想让列表中的第一个部分显示不同的样式 ,想让列表中的偶数部分显示不同的背景颜色,想让列表中的最后一部分样式不一样……这样的需求,我们怎样来实现?其实,如果前面文件是php开发的,可以通过php的循环语句+判断语句+css样式来实现。但是,如果是静态代码,php就无法用了。这时,我们还可以通过CSS来实现,CSS给我们提供了几个非常有用的样式参数:first-child、last-child、nth-child(n)。下面,详细看一下它们的使用。

1、first-child

first-child表示选择列表中的第一个标签。代码如下:

li:first-child{background:#090}

上面的意思是,li 列表中的 第一个li模块的背景颜色。

2、last-child

last-child表示选择列表中的最后一个标签,代码如下:

li:last-child{background:#090}

3、nth-child(3)

表示选择列表中的第3个标签,代码如下:

li:nth-child(3){background:#090}

上面代码中的3也可以改成其它数字,如4、5等。想选择第几个标签,就填写几。

**4、nth-child(2n) **

这个表示选择列表中的偶数标签,即选择 第2、第4、第6…… 标签。

5、nth-child(2n-1)

这个表示选择列表中的奇数标签,即选择 第1、第3、第5、第7……标签。

6、nth-child(n+3)

这个表示选择列表中的标签从第3个开始到最后。

7、nth-child(-n+3)

这个表示选择列表中的标签从0到3,即小于3的标签。

8、nth-last-child(3)

这个表示选择列表中的倒数第3个标签。

上面这些CSS样式是非常有用的,在我们的网页开发过程中,会派上非常大的用场,可以给我们的网页带来不一样的风格。如上一章中我们介绍的“为导航菜单添加分隔符”,就用到了 first-child。

标签:

有时候我们需要用CSS选择非第一个子元素,例如下面这样的HTML,希望让两个span之间间隔一定的距离,但又不希望简单的给每个span设置margin-right(会导致最后一个span也有margin-right,可能影响之后元素的排版)。

1.

1.

2.

3.

4.

5.

6.

复制代码

这时如果能排除第一个元素,并给其他元素设置margin-left属性,就能实现比较好的效果了。

可以利用not和first-child,通过下面的CSS实现。

1.

1. div > span :not(:first-child){

2. margin-left:10px

3. }

复制代码

还可以利用兄弟元素选择器+,像这样:

1.

1. div > span + span {

2. margin-left:10px

3. }

复制代码

如果HTML是这样的,应该怎么做呢?

1.

1.

2.

3.

4.

5.

6.

复制代码

其实也很简单,用通配符就可以了:

1.

1. div >*:not(:first-child){

2. margin-left:10px

3. }

复制代码

标签:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值