对于伪类的理解 :first-child

今天看到伪类 :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伪类,只要这个元素在其父元素中是以第一个子元素的形式存在的,就能够被选择到,而不论这个父元素在是哪个元素

时间: 2024-10-10 21:23:53

对于伪类的理解 :first-child的相关文章

伪元素、伪类基础理解

前几天同事问我css中单冒号和双冒号是什么意思,我也模糊得很,只有个笼统的概念就是:伪元素和伪类.一直以为,页面布局中很少使用到伪类,结果细细研究发现我们经常使用的hover就是一个最简单的伪类,顿时觉得自己太OUT了,紧跟着这两天都在看这些东西,其实伪类最简单的理解就是用于向某些选择器添加特殊的效果. 具体伪类.伪元素有哪些我就不一一列举,在w3c中列举的很清楚.我主要写写应用的实例. 1.来个简单的,咱们最常用到的向超链接添加不同的颜色: <html> <head> <m

CSS伪类的理解

因为之前一直对css伪类没有过多的了解,在网上看到一段css代码,不能理解 a:hover span.title{ color:red; ......... } 现通过查询css手册,其实css伪类只是表示了一种状态,a:hover只是表示了鼠标悬浮状态下的a标签,和一般的a标签用法没有区别,a:hover span.title即表示为鼠标悬浮状态的a标签的span的样式,和a span.title 用法没有区别

CSS 伪类(下)结构性伪类\UI伪类\动态伪类和其他伪类 valid check enable child required link visit

伪类选择器汇总伪类选择器有4种, 结构性伪类\UI伪类\动态伪类和其他伪类. 具体如下 结构性伪类选择器结构性伪类选择器它能够根据元素在文档中的位置选择元素, 这类元素都有个前缀":"1. 根元素选择器 只作用于html等底部标签.很少用 .. :root 2. 子元素选择器 子元素全选还要更细致 ul>li:first-child{ } 增加伪类first-child 第一个 ul>li:last-child{ } 增加伪类last-child 最后一个 ul>li

理解是最好的记忆方法 之 CSS中a链接的④个伪类为何有顺序

理解是最好的记忆方法 之 CSS中a链接的④个伪类为何有顺序 在CSS中,a标签有4种伪类,分别为: a:link, a:visited, a:hover, a:active 对其稍有了解的前端er都知道,4个伪类是有固定顺序的(LVHA),否则很容易出现预期之外的效果. 大部分人,都会用自己的方式,对这个顺序死记硬背. 熟记顺序,无疑是写样式时最快捷的方法,牛人们的记忆方法也是五花八门. 我见过有酱婶的:lv的包包hao,这倒是实话. 比较奇葩的,我在baidu上输入lvha,竟然自动关联出鹿

理解使用before,after伪类实现小三角形气泡框

先来理解before和after伪类的用法吧,before从字面上的意思可以理解为前面的意思,它一般和content属性一起使用,把内容插入在其他元素的前面,同理after的含义就是把内容插入到其他元素的后面了.先来看一个简单的demo,如下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> &

IE6/7兼容伪类、IE9以下兼容颜色渐变、IE8以下兼容nth:child(n)

1.IE6/7兼容伪类 _1.CSS部分:一个有冒号,一个是空格分隔.前者IE8+及其他现代浏览器:后者为IE6-7准备的 #test:before, #test before{ content: attr(data-content); width: 0; height: 0; } _2.HTML部分 <div id="test"  data-content=""></div> 设置content _3.JS部分 设置IE6/7 var $b

对html标签 元素 以及css伪类和伪元素的理解

标签:这应该都知道.<br/> .<a>.<p></p> 等都是标签. 元素:标签开始到结束.比如:<p>p之间的内容<p/> ,红色部分就是元素. 元素的内容:标签开始到结束之间的部分,上述红色部分中的"p之间的内容",这就是元素的内容. 伪类:针对的是特殊状态的元素. 伪元素:针对的是元素的内容. 伪元素和伪类之所以难以分清,是因为他们的效果类似并且写法相仿,css3 为了区分两者,已经明确规定了伪类用一个冒号

深入理解CSS伪类

× 目录 [1]锚点 [2]UI元素 [3]结构伪类[4]其他 前面的话 伪类经常与伪元素混淆,伪元素的效果类似于通过添加一个实际的元素才能达到,而伪类的效果类似于通过添加一个实际的类来达到.实际上css3为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示.本文将详细介绍伪类的详细知识 锚点 关于锚点<a>,有常见的5个伪类,分别是:link,:hover,:active,:focus,:visited a:link{background-color:pink;}/*

CSS3 选择器——伪类选择器

前面花了两节内容分别在<CSS3选择器--基本选择器>和<CSS3选择器--属性选择器>介绍了CSS3选择器中的基本选择器和属性选择器使用方法,今天要和大家一起学习CSS3选择器中的第三部分,也是最后一部分--伪类选择器.伪类选择器对于大家来说最熟悉的莫过于:link,:focus,:hover之类的了,因为这些在平时中是常用到的伪类选择器,那么先和大家一起简单总结一下CSS中常用的伪类选择器的使用方法,最后把重心放到CSS3新增加的":nth-child"选择