CSS中first-child和nth-child

first-child

E:first-child是伪类选择器,

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

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

 

:nth-child(n)

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

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

 

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

若要选择 <li>l1</li>  ul>li:first-child

若要选择 <li>l2</li>  ul>li:nth-child(2)

 

<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元素必须是其父元素的最后一个子元素或唯一一个子元素才可以

 

posted @ 2019-06-30 15:00  decrypt  阅读(6481)  评论(0编辑  收藏  举报