CSS中first-child和nth-child的讲解

:first-child

E:first-child是伪类选择器,很多人都知道它的存在,但是在使用时,可以仍存在误解。

说明

匹配父元素的第一个子元素E

从说明可以看出E是你要选择的第一个子元素,而不是父元素。一开始,误以为E:first-child是E的第一个子元素。

举个例子:

<ul>
    <li>l1</li>
    <li>l2</li>
    <li>l3</li>
</ul>

假设选择的是第一个li元素,则选择器应为li:first-child,而不是ul:first-child

<div>
    <h1>h1</h1>
    <p>p1</p>
    <p>p2</p>
    <p>p3</p>
</div>

这时选择第一个p元素,应用p:first-child则会出现错误,因为p的父元素是div,而对于div来说,它的第一个子元素不是p,而是h1,所以如果选择器p:first-child,则会出错。

同理,E:last-child``E:only-child与上面的一样,E元素必须是其父元素的最后一个子元素或唯一一个子元素才可以。

:nth-child(n)

说明

匹配父元素的第n个子元素E

E也是子元素,而且也只能匹配父元素下第n个子元素。n是从1开始计数

<div>
    <h1>h1</h1>
    <p>p1</p>
    <p>p2</p>
    <p>p3</p>
</div>

依然是上面的例子,如果这次要选择第一个p元素,则可以使用p:nth-child(2),因为第一个p元素在父元素<div>下是第二个子元素,所以n需要取值为2。

所以要记住:E:nth-child(n)中,E是你要选择的子元素,而n是E元素的父元素下,E元素所处的顺序数。

后记

此博文就是在练习时候发现关于css选择器方面理解不够深刻时,理解练习后所写的。所以关于css的选择器不能只停留在懂,还得多练。
这里推荐一个练习css选择器的网站:http://flukeout.github.io/

通过可视化的界面,让大家能知道自己的选择器写完后,所选的元素。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值