今天看到伪类 :first-child;发现自己对于伪类的理解又有偏差,这里用代码说明一下
代码如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> span:first-child{ color: red; background-color: red; } </style> </head> <body> <div> <span>我是一段文本</span> <p>这是一段文本<span>我是这段文本之中的span</span><span>我是第二段文本</span></p> <p>这是第二段文本</p> </div> </body> </html>
显示效果如下
一个常见的错误是将:first-child记为元素的第一个子元素,但事实并非如此
这个伪类是要选择作为作为某一个元素的第一个子元素的元素,例如:在上面的代码中,span:first-child:这个伪类的意思是选择作为某个元素第一个子元素的span元素,
至于是哪个元素没有关系,只要span元素在这个元素中以第一个元素存在的,就会被选择到
在上面的代码中,
有两个span元素,第一个span元素在div元素中作为第一个子元素,能够被选择到
第二个span元素在p元素中作为第一个子元素,也能被选择到了
也就是说,对一个元素应用:first-child伪类,只要这个元素在其父元素中是以第一个子元素的形式存在的,就能够被选择到,而不论这个父元素在是哪个元素