微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

那些年踩过的坑之:first-child伪类选择器

display: block; margin-left: auto; margin-right: auto;" src="https://www.jb51.cc/res/2019/03-18/21/c3d3bcb7585707f5be822ce900ef83df.jpg" alt="">

:first-child 选择器用于选取属于其父元素的首个子元素的指定选择器。——w3school

嗯,乍一看好像说的不是很明白,因此这个选择器很容易让人误解,通常会有两种误解:
误解一:认为E:first-child选中E元素的第一个子元素。
误解二:认为E:first-child选中E元素的父元素的第一个E元素。

你是不是也曾这样理解这个选择器或者现在仍然这样理解?以上两种理解都是错误的,为了证明上面两种理解是错的,看看下面的实例

<div class="demo">
一个链接
一个链接
一个链接
一个链接

 

效果是这样的:

很明显,照第一种理解,应该只有第一个a元素字体颜色变红,然而事实上全部变红了。

<div class="demo">

一个段落

一个链接 一个链接 一个链接 一个链接

 

效果是这样的:

照第二种理解,div里的第一个a元素字体应该是红色的,事实证明这种理解也是错的。

OK,正确的理解应该是:只要E元素是它的父级的第一个子元素,就选中。它需要同时满足两个条件,一个是“第一个子元素”,另一个是“这个子元素刚好是E”。

span:first-child{:;}irst-child{:;} 一个子元素是div而不是p元素,因此该样式不起作用irst-child{:;}

<div class="demo">

.demo的第一个子元素是div

一个span一个段落P第二个span

一个链接一个i元素

一个链接第二个i元素

一个链接

 

 

 

效果

类似容易误解的结构选择器还有:nth-child()、:nth-last-child、:only-child,在平时的开发中需要注意一下。

 

By: from:http://www.cnblogs.com/wangmeijian/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐