CSS伪类与伪元素 每日更新前端基础,如果觉得不错,点个star吧 ?...也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。...伪类 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。比如说,当用户悬停在指定的元素时,我们可以通过:hover来描述这个元素的状态。...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 状态性伪类 是基于元素当前状态进行选择的。...比如说,我们可以通过::before来在一个元素前增加一些文本,并为这些文本添加样式。 CSS3规范中要求使用单冒号:用于CSS3伪类,双冒号::用于 CSS3伪元素,目的是区分伪类和伪元素。
1.伪类与伪元素 先说一说为什么css要引入伪元素和伪类,以下是css2.1 Selectors章节中对伪类与伪元素的描述: CSS introduces the concepts of pseudo-elements...直译过来就是:css引入伪类和伪元素概念是为了格式化文档树以外的信息。也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。...下面分别对伪类和伪元素进行解释: 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。...对于伪元素是使用单冒号还是双冒号的问题,w3c标准中的描述如下: Please note that the new CSS3 way of writing pseudo-elements is to use...处于试验阶段的伪类或伪元素会在标题中标注。 伪类 状态 由于状态伪类的用法大家都十分熟悉,这里就不用例子说明了。
背景 写了这么多年代码,对CSS中的伪类和伪元素竟然没有细致的进行过学习总结,由此可见在实际代码开发中,用的也确实不多,也就用过一些:first-child,:hover之类的吧,其它的连before...什么的都没用过,于是迫切需要大于伪元素与伪类进行一个系统整体的学习。...伪类和伪元素 伪类:是以一个冒号作为前缀,被添加到选择器的末尾,当你希望在特定状态下(:hover)才被呈现到指定元素时,可以往元素的选择器后面加上伪类。...常用的伪类和伪元素 伪类可以从状态类伪类、结构类伪类、其它伪类和表单相关伪类进行分类。...: :fullscreen全屏显示、:lang()匹配指定语言 表单相关伪类: :checked选中、:disabled禁用、:required必填、:read-only只读 伪元素:::before
伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。...伪类的种类 伪元素的种类 区别 这里用伪类 :first-child 和伪元素 :first-letter 来进行比较。....first-child {color: red} first second 即我们给第一个子元素添加一个类... 总结 伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。...:Pseudo-classes::Pseudo-elements 但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者。
CSS 引入伪类和伪元素的概念是为了格式化文档树以外的信息。也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。...2.伪类和伪元素的概念 2.1 伪类: 伪类用于当已有元素处于某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。...虽然它和普通的 CSS 类相似,可以为已有的元素添加样式,但是它只有处于 DOM 树无法描述的状态下才能为元素添加样式,所以将其称为伪类。...3.伪类列举 伪类和伪元素-1.png 3.1 状态伪类 状态伪类是基于元素当前状态进行选择的。在与用户的交互过程中元素的状态是动态变化的,因此该元素会根据其状态呈现不同的样式。...注意,伪类的名称不区分大小写。
定义 伪类 CSS 伪类 是添加到选择器的关键字,指定要选择的元素的特殊状态。 例如,:hover 可被用于在用户将鼠标悬停在按钮上时改变按钮的颜色。...分类 伪类 ? 伪元素 ?... p:first-letter { font-size: 5em; } 从上述例子中可以看出,伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档数外的元素。...因此,伪类与伪元素的区别在于:有没有创建一个文档树之外的元素。...总结 1.伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息; 2.伪元素本质上是创建了一个有内容的虚拟容器; 3.CSS3中伪类和伪元素的语法不同; 4.可以同时使用多个伪类,而只能同时使用一个伪元素
熟悉前端的人都会听过css的伪类与伪元素,然而大多数的人都会将这两者混淆(包括我)。那今天就让我们来看看伪类和伪元素的区别吧!...伪类与伪元素 先说一说为什么css要引入伪元素和伪类,以下是css2.1 Selectors章节中对伪类与伪元素的描述: CSS introduces the concepts of pseudo-elements...直译过来就是:css引入伪类和伪元素概念是为了格式化文档树以外的信息。也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。...下面分别对伪类和伪元素进行解释: 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。...伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。
为什么要引入伪类与伪元素? css引入伪类和伪元素概念是为了格式化文档树以外的信息。...也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或是列表中的第一个元素,又或者是鼠标悬停在某个超链接上时要设置的样式。 什么是伪类,伪元素?...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 伪元素:用于创建一些不在文档树中的元素,并为其添加样式。...比如说,我们可以通过:before来在一个元素前增加一些文本,并为这些文本添加样式。 伪类的分类:状态伪类和结构性伪类 状态伪类:是基于元素当前状态进行选择的。...伪元素的应用: 清除浮动:如果父元素的所有子元素都是浮动的,父元素的高度则无法撑开。可以通过对父元素添加after伪类撑开父元素高度,因为after就是其最后一个子元素。
伪类和伪元素用于css选择器,利用他们使css更灵活。...常见的伪类 伪元素与伪类的区别 伪元素将元素的某些部分作为元素选中(但不选中真正的元素),而伪类对应选择的元素的特殊状态(选择真正的元素)。...w3c的定义是,伪类用于向某些选择器添加特殊的效果(选择器已选中元素),伪元素用于将特殊效果添加到选择器(通过伪元素才能确定选中元素)。...更直观的理解是,伪元素达到的效果必须通过添加真实的元素替代,而伪类达到的效果必须通过添加真实的类替代。 :hover 鼠标悬停于某一元素时生效。...:root 匹配文档树的根元素,在HTML文档中匹配html元素 更多伪类 https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes
1.伪类选择器和伪元素选择器 伪类选择器是用来向某些选择器来添加效果。...(空格) :not(标签名) (3)目标伪类选择器: :target (4)UI元素状态选择器: :enabled :disabled :checked (5)动态伪类选择器: :link...:visited :hover :active (6)用户行为伪类选择器 :focus 伪元素选择器则是用来将特殊的效果添加在选择器上。...:伪类不修改DOM容,通过一些特定的选择器根据特定的状态,特定条件来修改元素的样;而伪元素可能改变DOM结构,创造了虚拟的DOM 伪类选择器只是相当于给标签加上了个名字,让我们能够找到精准的位置,而伪元素选择器修改了他原本的结构...2.注意 可通过使用css伪类实现点击元素变色的效果,两个伪类是:active, :focus :active :active选择器用于选择活动链接。
'#',以及在内容之后添加一个'$',插入的行内元素是作为#example的子元素,效果如下: #Here is the example content$ 需要注意的是如果没有content属性,伪类元素将没有任何作用...但是可以指定content为空,同时正如前面所说,插入的内容默认是一个行内元素,并且在HTML源代码中无法看到,这就是为什么称之为伪类元素的理由,所以也就无法通过DOM对其进行操作。...需要注意的是如果没有content属性,伪类元素将没有任何作用。...但是可以指定content为空,同时正如前面所说,插入的内容默认是一个行内元素,并且在HTML源代码中无法看到,这就是为什么称之为伪类元素的理由,所以也就无法通过DOM对其进行操作。...#example:before { content: ""; display: block; width: 100px; height: 100px; } 伪类元素也会像其他子元素一样正常继承父元素的一些
前言 熟悉前端的人都会听过css的伪类与伪元素,然而大多数的人都会将这两者混淆。本文从解析伪类与伪元素的含义出发,区分这两者的区别,即使你有用过伪类与伪元素,但里面总有一两个你没见过的吧。...伪类与伪元素 先说一说为什么css要引入伪元素和伪类,以下是css2.1 Selectors章节中对伪类与伪元素的描述: CSS introduces the concepts of pseudo-elements...直译过来就是:css引入伪类和伪元素概念是为了格式化文档树以外的信息。也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。...下面分别对伪类和伪元素进行解释。 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。...对于伪元素是使用单冒号还是双冒号的问题,w3c标准中的描述如下: Please note that the new CSS3 way of writing pseudo-elements is
CSS的选择器除了根据id、class、属性等从DOM中获取元素的以外,还有很重要的一类,用来获取元素的特别内容或特别状态,这就是 伪元素(Pseudo-elements) 和 伪类(Pseudo-classes...) [I] 伪元素 伪元素是对元素中的特定内容进行操作,选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。...:not(x)括号中可以应用几乎所有的选择器语法 :not可以搭配其他伪类使用,如用 p:not(:empty) 选择非空元素 aaa bbbb</...系列伪类中,索引是相对于所有同级兄弟元素计算的,而非特定类型== :first-child 和 :last-child Hi Apple...如果元素中有空格等内容,不会被认为是:empty [2.4] 根据索引选择特殊类型的元素 这一系列的伪类包括 :first-of-type,:last-of-type,:only-of-type,:nth-of-type
在浏览器版本越来越高的情况下,很多以前顾及到兼容问题不敢使用的html以及css属性现在已经很普遍的在使用了。比如一些伪类和伪元素。这里稍微提一下在实际工作中用到的一些小技巧,算是笔记。...1.focus,chenked伪类的使用。...其实道理都是一样的,利用chenked或者focus的状态,通过css来定义样式,比如用图片替代checkbox框,原理就是隐藏checkbox之后,通过label操作他的兄弟元素样式。....checkbox-wrap input:checked + label span{background-position: 0 -20px;} 在input的checked状态下改变span元素的背景图片...: 2; } 这样两个伪对象的嵌套,刚好得出一个向下的小尖角(其他方向同理,调整border以及定位即可。
伪类的常见用法和实例解析 CSS伪类和伪元素是一种特殊类型的选择器,可以用于在元素状态或者文档树中的特定位置添加样式。它们允许开发者选择一个元素的部分或者元素的部分状态,从而改变它们的样式。...下面将介绍一些常见的伪类和伪元素的用法和实例。 伪类: 伪类是一种特殊类型的选择器,可以用于选择一个元素的部分状态。例如,当鼠标悬停在元素上时,可以使用伪类 :hover 来改变元素的样式。...伪类和伪元素的常见用法: * `:link`:用于未被访问过的链接。 * `:visited`:用于用户已访问过的链接。 * `:hover`:用于鼠标指针悬停在上面的元素。...[type="checkbox"]:checked { background-color: lightgray; } 以上就是CSS伪类和伪元素的常见用法和实例,它们为开发者提供了更多的样式控制选项,可以在特定的状态下或位置应用特定的样式...本文深入探讨了CSS中伪类和伪元素的常见用法和实例解析,并附上了具体的代码示例。通过合理运用伪类和伪元素,我们可以更灵活地控制页面的样式,实现更丰富的交互效果和视觉效果。
其实上面提到的这些伪类和伪元素都是CSS1和CSS2中的概念,CSS1和CSS2中对伪类的伪元素的区别比较模糊,甚至经常有同行将:before、:after称为伪类。...伪类由一个冒号:开头,冒号后面是伪类的名称和包含在圆括号中的可选参数。 任何常规选择器可以再任何位置使用伪类。伪类语法不区别大小写。一些伪类的作用会互斥,另外一些伪类可以同时被同一个元素使用。...一个选择器只能使用一个伪元素,并且伪元素必须处于选择器语句的最后。 注:不排除未来会加入同时使用多个伪元素的机制。 同样,第一段话是伪元素的清晰定义,也是伪元素与伪类最大的区别。...当然,这些问题确实是可以用JavaScript来解决的,但是相对于::first-line简简单单的几个字,用JavaScript恐怕不止这些吧!...最后,总结一下伪类与伪元素的特性及其区别: 伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息; 伪元素本质上是创建了一个有内容的虚拟容器; CSS3中伪类和伪元素的语法不同; 可以同时使用多个伪类
伪类与伪元素的区别表示方法 CSS2 中伪类、伪元素都是以单冒号:表示,CSS2.1 后规定伪类用单冒号表示,伪元素用双冒号::表示,浏览器同样接受 CSS2 时代已经存在的伪元素(:before,...对于 CSS2 之后所有新增的伪元素(如::selection),应该采用双冒号的写法。但是因为兼容性问题,大部分还是用的单冒号。...定义不同 伪类即假的类,通常可以添加类来达到效果,伪元素即假元素,需要通过添加元素才能达到效果。来看下面的例子 例 1:将一行字符串的首字母变成红色 现在不用伪元素应该如何实现?...伪类和伪元素分别用单冒号:和双冒号::来表示。伪类和伪元素的区别,最关键的点在于如果没有伪元素(或伪类),是否需要添加元素才能达到目的,如果是则是伪元素,反之则是伪类。...关于常用的伪类与伪元素选择器可以查看CSS选择器一文。
本文旨在深入浅出地探讨CSS伪类与伪元素的核心概念、常见问题、易错点及其规避策略,并通过实例代码加深理解。...它们实际上插入了新的元素到DOM树中,尽管这些元素不可见于源代码。 常见问题与易错点 1. 伪类与伪元素的区别 易错点:混淆伪类和伪元素的使用场景。...双冒号与单冒号的使用 问题描述:CSS3规范中,伪元素推荐使用双冒号(::),而伪类仍使用单冒号(:),但在旧版浏览器中,双冒号可能不被支持。...注意事项:保持逻辑清晰,通常先写伪类再写伪元素,并注意CSS特性的优先级规则。 4. 使用content属性 问题描述:在伪元素中忘记使用content属性,导致样式不生效。...:hover与子元素伪类结合:通过:hover与子元素伪类如:first-child结合,可以实现复杂的交互效果。
,还有就是伪元素到底是什么,我们应该怎么优雅的使用,那为什么写伪类呢?...因为我发现竟然有人把伪类和伪元素一直看成一种东西,这个我是接受不了的,所以一起说一下。...伪类介绍 首先介绍一下什么是伪类:伪类其实我们经常用的到,只是我们自己不会刻意的说这个是伪类这样的一个东西,我下面简单的举个例子就明白了怎么回事 <!...那么上面:这个符号连接的就是伪类,帮助我们做一些样式用的,本质是一个css 伪元素介绍 首先要明白的是伪元素是html标签本身的属性,和css没有关系,只是我们使用css样式将这个东西展现了出来,这是一点...这样就使用伪元素巧妙的将浮动的问题解决了,这个解决办法是比较合理的。
超链接伪类:如何在svg元素上使用超链接伪类a:link 未单击访问时超链接样式 a:link{color:#9ef5f9;} a:visited 单击访问后超链接样式 a:visited {color...:hover{color:#ff7300;} a:active 鼠标单击未释放的超链接样式 a:active {color:#999;} 注意定义的顺序LVHA 这个样式可能会被后声明的其他链接相关的伪类覆盖...,这些伪类包括 (:link, :hover,和:active)。...,可以给所有元素添加。...在svg上使用超连接伪类 使用svg <style
领取专属 10元无门槛券
手把手带您无忧上云