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选择器用于选择活动链接。
基本概念 伪类(Pseudo-classes) 伪类用于表示元素的特定状态,如用户交互(hover、active)、链接状态(link、visited)等。...它们并不改变文档结构,而是基于现有元素的不同状态应用样式。...它们实际上插入了新的元素到DOM树中,尽管这些元素不可见于源代码。 常见问题与易错点 1. 伪类与伪元素的区别 易错点:混淆伪类和伪元素的使用场景。...区分方法:伪类关注的是元素的状态,而伪元素则关注元素的内容或结构上的附加部分。 2....希望本文能成为你探索CSS高级选择器路上的一盏明灯。
表示的属性值里包含val字符并且在“开始”位置; div[class^=mydemo] 5、E[attr$=val] 表示的属性值里包含val字符并且在“结束”位置; div[class$=demos] 二、伪类选择器...除了以前学过的:link、:active、:visited、:hover,CSS3又新增了其它的伪类选择器。...1、以某元素相对于其父元素或兄弟元素的位置来获取无素的结构伪类。 重点理解通过E来确定元素的父元素。...四、伪元素选择器 重点:E::before、E::after 是一个行内元素,需要转换成块元素 E:after、E:before 在旧版本里是伪类,在新版本里是伪元素,新版本下E:after、E:before...,并且没有伪元素的概念 CSS3中 提出伪元素的概念 E::before和E::after,并且归属到了伪元素当中,伪类里就不再存在E:before或者 E:after伪类;
DOCTYPE html> 68-伪元素选择器 <style...*/ content: "么么哒"; /*指定添加的子元素的宽度和高度*/ width: 50px; /*...-- 1.什么是伪元素选择器?...伪元素选择器作用就是给指定标签的内容前面添加一个子元素或者给指定标签的内容后面添加一个子元素 2.格式: 标签名称::before{ 属性名称:值; } 给指定标签的内容前面添加一个子元素...标签名称::after{ 属性名称:值; } 给指定标签的内容后面添加一个子元素 --> <!
CSS伪类与伪元素 每日更新前端基础,如果觉得不错,点个star吧 ?...伪类 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。比如说,当用户悬停在指定的元素时,我们可以通过:hover来描述这个元素的状态。...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 状态性伪类 是基于元素当前状态进行选择的。...结构性伪类 CSS3新增选择器,利用dom树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少class和id属性的定义,使文档结构更简洁。...实际上,伪元素就是选取某些元素前面或后面这种普通选择器无法完成的工作。控制的内容和元素是相同的,但它本身是基于元素的抽象,并不存在于文档结构中。
1.伪类与伪元素 先说一说为什么css要引入伪元素和伪类,以下是css2.1 Selectors章节中对伪类与伪元素的描述: CSS introduces the concepts of pseudo-elements...下面分别对伪类和伪元素进行解释: 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 伪元素用于创建一些不在文档树中的元素,并为其添加样式。...处于试验阶段的伪类或伪元素会在标题中标注。 伪类 状态 由于状态伪类的用法大家都十分熟悉,这里就不用例子说明了。...1 :not 一个否定伪类,用于匹配不符合参数选择器的元素。
一、CSS3 伪元素选择器 ---- CSS3 伪元素选择器 : ::before 选择符 : 在 指定的标签元素内部的 前面 插入内容 ; ::after 选择符 : 在指定的标签元素内部的 后面 插入内容..., 需要 将显示模式 display 转为块级元素 block 或 行内块元素 inline-block ; 伪元素本质 : 在 dom 中看不到插入的元素 ; 权重 : 伪元素选择器 的权重 与 标签选择器...权重相同 , 权重为 1 ; 区分 伪元素选择器 与 伪类选择器 : 伪类选择器 有一个冒号 , 如 : a:hover 表示鼠标经过 a 标签上的样式 ; 伪元素选择器 有两个冒号 ; 二、CSS3...伪元素选择器权重 ---- 伪元素选择器 的权重 与 标签选择器 权重相同 , 权重为 1 ; 属性选择器 , 伪类选择器 的 权重 , 与 类选择器 权重相同 , 都是 10 ; 参考 【CSS】CSS...- 权重计算 继承父标签的样式 , * 通配符选择器 0,0,0,0 标签选择器 / 伪元素选择器 0,0,0,1 类选择器 / 伪类选择器 / 属性选择器 0,0,1,0 ID 选择器 0,1,0,0
CSS 伪类 选择器 例子 例子描述 :active a:active 选择活动的链接。 :checked input:checked 选择每个被选中的 元素。...:disabled input:disabled 选择每个被禁用的 元素。 :empty p:empty 选择没有子元素的每个 元素。...:not(selector) :not(p) 选择每个非 元素的元素。 :nth-child(n) p:nth-child(2) 选择作为其父的第二个子元素的每个 元素。...(2) 选择作为其父的第二个 元素的每个 元素。...CSS 伪元素 选择器 例子 例子描述 ::after p::after 在每个 元素之后插入内容。 ::before p::before 在每个 元素之前插入内容。
解释什么是伪类选择器,以及如何使用伪类选择器 import pyquery from pyquery import PyQuery as pq html = ''' ...li> 谷歌 ''' ''' 伪类选择器...CSS选择器 ''' doc = pq(html) # 选取第一个li节点 li = doc('li:first-child') print(li) # 选取最后一个li节点 li = doc('
CSS3 浏览器支持情况 网址查询:caniuse.com CSS3的伪类选择器(一) 动态伪类选器 a:link{} a:visited{} a:hover{} a:active{} UI元素状态伪类选择器... html部分: // disable 是状态 CSS部分:(根据状态确定样式) input :enable{} input:disable{} CSS3的伪类选择器(二) 结构伪类选择器...{} 限定是第一个li标签子元素 li:last-of-type{} 限定是最后一个li标签子元素 li:only-child{} 选择的元素是它父元素只有一个子元素...标签父元素是空的 伪元素 html: css: .demo::first-letter{} 文本段落首字 .demo::first-line{} 文本段落首行 .demo::before{...//demo之前 content:; //伪元素的content属性必须要有,不设置也要有,留空 } .demo::after{ //demo之后 content:; }
背景 写了这么多年代码,对CSS中的伪类和伪元素竟然没有细致的进行过学习总结,由此可见在实际代码开发中,用的也确实不多,也就用过一些:first-child,:hover之类的吧,其它的连before...什么的都没用过,于是迫切需要大于伪元素与伪类进行一个系统整体的学习。...伪类和伪元素 伪类:是以一个冒号作为前缀,被添加到选择器的末尾,当你希望在特定状态下(:hover)才被呈现到指定元素时,可以往元素的选择器后面加上伪类。...常用的伪类和伪元素 伪类可以从状态类伪类、结构类伪类、其它伪类和表单相关伪类进行分类。...状态类伪类:** :hover、:link、:active、:visited、:focus** 结构类伪类:** :first-child、:last-child、:nth-child(n)** 其它伪类
伪元素选择器可以帮助我们利用CSS创建新标签元素,而不需要HTML标签,从而简化HTML结构。...::before和::after ::before表示元素的开始,::after表示元素的最后,before和after必须结合content属性来使用 代码演示?...注意: before和after创建一个元素,但是属于行内元素。 新创建的这个元素在文档中是找不到的,所以我们称为伪元素。...before在父元素内容的前面创建元素,after在父元素内容的后面插入元素。 伪元素选择器和标签选择器一样,权重为1。 ---- 没有所谓失败,除非你不再尝试!
伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。...伪类的种类 伪元素的种类 区别 这里用伪类 :first-child 和伪元素 :first-letter 来进行比较。....first-child {color: red} first second 即我们给第一个子元素添加一个类...,然后定义这个类的样式。... 总结 伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。
======================================================================================= 伪类选择器 ? ? ?
2.伪类和伪元素的概念 2.1 伪类: 伪类用于当已有元素处于某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。...虽然它和普通的 CSS 类相似,可以为已有的元素添加样式,但是它只有处于 DOM 树无法描述的状态下才能为元素添加样式,所以将其称为伪类。...3.伪类列举 伪类和伪元素-1.png 3.1 状态伪类 状态伪类是基于元素当前状态进行选择的。在与用户的交互过程中元素的状态是动态变化的,因此该元素会根据其状态呈现不同的样式。...当元素处于某状态时会呈现该样式,而进入另一状态后,该样式就会失去。状态伪类的顺序很重要,顺序错误可能会导致没有效果。...active 选择正在活动的链接 :focus input:focus 选择获得焦点的输入框 3.2 结构化伪类 结构化伪类是 CSS3 新增选择器,利用 DOM 树进行元素过滤,通过文档结构的互相关系来匹配元素
定义 伪类 CSS 伪类 是添加到选择器的关键字,指定要选择的元素的特殊状态。 例如,:hover 可被用于在用户将鼠标悬停在按钮上时改变按钮的颜色。.../* 所有用户指针悬停的按钮 */ button:hover { color: blue; } 伪类存在的意义是为了通过选择器,格式化DOM树以外的信息以及不能被常规CSS选择器获取到的信息。...伪元素 伪元素是一个附加至选择器末的关键词,允许你对被选择元素的特定部分修改样式。 下例中的 ::first-line 伪元素可改变段落首行文字的样式。 /* 每一个 元素的第一行。...分类 伪类 ? 伪元素 ?...总结 1.伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息; 2.伪元素本质上是创建了一个有内容的虚拟容器; 3.CSS3中伪类和伪元素的语法不同; 4.可以同时使用多个伪类,而只能同时使用一个伪元素
熟悉前端的人都会听过css的伪类与伪元素,然而大多数的人都会将这两者混淆(包括我)。那今天就让我们来看看伪类和伪元素的区别吧!...下面分别对伪类和伪元素进行解释: 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。...比如说,当用户悬停在指定的元素时,我们可以通过:hover来描述这个元素的状态。...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 伪元素用于创建一些不在文档树中的元素,并为其添加样式。...这个伪元素只能用在块元素中,不能用在内联元素中。 ::selection 匹配用户被用户选中或者处于高亮状态的部分。在火狐浏览器使用时需要添加-moz前缀。该伪元素只支持双冒号的形式。
为什么要引入伪类与伪元素? css引入伪类和伪元素概念是为了格式化文档树以外的信息。...伪类:用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。比如说,当用户悬停在指定的元素时,我们可以通过:hover来描述这个元素的状态。...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 伪元素:用于创建一些不在文档树中的元素,并为其添加样式。...比如说,我们可以通过:before来在一个元素前增加一些文本,并为这些文本添加样式。 伪类的分类:状态伪类和结构性伪类 状态伪类:是基于元素当前状态进行选择的。...结构性伪类:是css3新增选择器,利用dom树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少class和id属性的定义,使文档结构更简洁。
document.querySelectorAll()[4]返回所有匹配的HTML元素,这些元素位于类数组NodeList[5]中。 伪类选择器根据HTML元素的当前状态来定位它们。...浏览器最近又收到了三个伪类选择器… :is伪类选择器 注意:这最初被指定为:matches()和:any(),但:is()已经成为CSS标准。...MDN解释::is()CSS伪类函数将选择器列表作为参数,并选择该列表中任意一个选择器可以选择的元素。这对于以更紧凑的形式编写大型选择器非常有用。 你经常需要在不止一个元素上面应用相同的样式。...:is(article, section, aside) p { color: #444; } 单个选择器可以包含任意数量的:is()伪类。...*/ h2 { margin-block-start: 2em; } :has()伪类选择器 :has()选择器使用了类似于:is()和:where()的语法,但它的目标是一个包含其他元素的元素。
DOCTYPE html> 选择器 - 兄弟伪类 .first{ color: red; } /*兄弟伪类: +:获取当前元素的相邻的满足条件的元素 ~:获取当前元素的满足条件的兄弟元素*/ /*下面这句样式说明查找...DOCTYPE html> 选择器 - 相对父元素的伪类...DOCTYPE html> CSS3 选择器 -伪类target <style...class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示:在以下的例子中,所有拥有 center 类的 HTML 元素均为居中。
领取专属 10元无门槛券
手把手带您无忧上云