什么是伪元素 伪元素表示了某个元素的子元素。这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中。 因为伪元素并不在文档树中,所以通过JS,也抓取不到伪元素,也不能给它绑事件。...语法 伪元素以::开头。 在CSS1和CSS2中,伪元素和伪类一样,都是用:开头。但在CSS3中,伪元素以::开头,用以和伪类进行区分。 IE8不支持::。因此如果要兼容IE8,只能用:。...什么时候用伪元素 HTML 标签的目的,就是为了展示内容信息。非内容信息要使用伪元素。 具体的使用场景是图标和清除浮动。 所谓的非内容信息,指的是一些对内容进行修饰的信息。...外链.png demos 那些 CSS 偽元素可以幫你做的 10 個效果 基于单个 div 的 CSS 绘图 注 块级元素指display的值为block, inline-block, table-cell...相关文章 CSS伪元素的一些坑
CSS伪类与伪元素 每日更新前端基础,如果觉得不错,点个star吧 ?...https://github.com/WindrunnerMax/EveryDay CSS引入伪类和伪元素概念是为了格式化文档树以外的信息。...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 状态性伪类 是基于元素当前状态进行选择的。...结构性伪类 CSS3新增选择器,利用dom树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少class和id属性的定义,使文档结构更简洁。...比如说,我们可以通过::before来在一个元素前增加一些文本,并为这些文本添加样式。 CSS3规范中要求使用单冒号:用于CSS3伪类,双冒号::用于 CSS3伪元素,目的是区分伪类和伪元素。
伪元素技巧 在 CSS 伪元素基本用法一文中讲述了伪元素的基础功能,本章学习一些进阶功能,看看伪元素能实现哪些方便好用的功能。...; padding: 5px; } .inner { float: left; width: 80px; height: 80px; border: 1px solid; } 使用伪元素清除浮动的办法...''; position: absolute; top: -20px; right: -20px; bottom: -20px; left: -20px; } 还有一种不使用伪元素扩大可点击范围的方式是使用...{ background: green; border: 2px solid green; color: #fff; content: "\2714"; } 最后 在网上还有很多关于伪元素的用法...,非常有趣,既能减少 DOM 元素数量,还能用 CSS 实现一部分 JS 的功能,非常酷炫,后面见到有趣的用法会不断记录。
背景 写了这么多年代码,对CSS中的伪类和伪元素竟然没有细致的进行过学习总结,由此可见在实际代码开发中,用的也确实不多,也就用过一些:first-child,:hover之类的吧,其它的连before...什么的都没用过,于是迫切需要大于伪元素与伪类进行一个系统整体的学习。...伪类和伪元素 伪类:是以一个冒号作为前缀,被添加到选择器的末尾,当你希望在特定状态下(:hover)才被呈现到指定元素时,可以往元素的选择器后面加上伪类。...伪元素:用于创建一些不在文档树中的元素,并为其添加样式。比如::before是指得元素前添加文本,且为文本添加样式,虽然用户可以看到这些文本,但文本实际不在DOM结构中。...常用的伪类和伪元素 伪类可以从状态类伪类、结构类伪类、其它伪类和表单相关伪类进行分类。
伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。...伪类的种类 伪元素的种类 区别 这里用伪类 :first-child 和伪元素 :first-letter 来进行比较。...p>i:first-child {color: red} first second i标签的第一个元素,也就是first,颜色会变红。...那么我们接着看看为元素: p:first-letter {color: red}I am stephen lee.... 总结 伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。
伪元素 CSS 中可以利用伪元素给 DOM 元素添加特殊的样式。比如说,我们可以通过 :before 在一个元素前增加一些文本,并为这些文本添加样式。...CSS3 规范中要求使用双冒号(::)添加伪元素,用以区分伪元素和伪类,比如 ::before 是伪元素,:hover 是伪类。...注意: 在一个使用了 :first-letter 伪元素的选择器中,只有很小的一部分 css 属性能被使用 ::first-letter :first-line :first-line 用来获取 块状元素...html: HelloWorld css: h1:first-line { background: orange; } 在一个使用了 ::first-line 伪元素的选择器中...,只有很小的一部分css属性能被使用 ::first-line ::selection ::selection 伪元素应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分),该伪元素只支持双冒号的形式
1.伪类和伪元素的引入 CSS introduces the concepts of pseudo-elements and pseudo-classes to permit formatting based...CSS 引入伪类和伪元素的概念是为了格式化文档树以外的信息。也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。...虽然它和普通的 CSS 类相似,可以为已有的元素添加样式,但是它只有处于 DOM 树无法描述的状态下才能为元素添加样式,所以将其称为伪类。...结构化伪类是 CSS3 新增选择器,利用 DOM 树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少 class 和 id 属性的定义,使文档结构更简洁。...该伪元素不是 CSS 的标准,它的实现可能在将来会有所改变,所以要决定使用时必须谨慎。
定义 伪类 CSS 伪类 是添加到选择器的关键字,指定要选择的元素的特殊状态。 例如,:hover 可被用于在用户将鼠标悬停在按钮上时改变按钮的颜色。.../* 所有用户指针悬停的按钮 */ button:hover { color: blue; } 伪类存在的意义是为了通过选择器,格式化DOM树以外的信息以及不能被常规CSS选择器获取到的信息。...伪元素 伪元素是一个附加至选择器末的关键词,允许你对被选择元素的特定部分修改样式。 下例中的 ::first-line 伪元素可改变段落首行文字的样式。 /* 每一个 元素的第一行。...分类 伪类 ? 伪元素 ?...总结 1.伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息; 2.伪元素本质上是创建了一个有内容的虚拟容器; 3.CSS3中伪类和伪元素的语法不同; 4.可以同时使用多个伪类,而只能同时使用一个伪元素
为什么要引入伪类与伪元素? css引入伪类和伪元素概念是为了格式化文档树以外的信息。...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 伪元素:用于创建一些不在文档树中的元素,并为其添加样式。...结构性伪类:是css3新增选择器,利用dom树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少class和id属性的定义,使文档结构更简洁。...(::) 而不是一个冒号 (:),这是 CSS3 规范中的一部分要求,目的是为了区分伪类和伪元素,大多数浏览器都支持这两种表示方式。...单冒号(:)用于 CSS3 伪类,双冒号(::)用于 CSS3 伪元素。对于 CSS2 中已经有的伪元素,例如 :before,单冒号和双冒号的写法 ::before 作用是一样的。
css3伪元素 css2的规定为单冒号表示,而css3已经明确表示伪类使用单冒号,伪元素使用双冒号,本次所有测试双冒号 对于读者阅读,有的地方显得有些冗余,但是,这是为了测试没办法了,如果写的不全面或者有错误...伪类用于向某些选择器添加特殊的效果。... CSS 伪元素用于将特殊的效果添加到某些选择器。...伪类用于向某些选择器添加特殊的效果。... CSS 伪元素用于将特殊的效果添加到某些选择器。
CSS伪元素的基本使用 上一篇文章介绍了很多个伪类的使用,这篇来说一下伪元素。 伪元素之所以称为“伪”,主要是因为它不是真正网页里的元素,但是标线行为又跟真正网页元素一样,也可以对其使用css操作。...伪元素比较少,今天就一个个的用法,不分门别类了。 一、::after和::beore after和before用的比较多一些。...都是配合content来给元素添加一些装饰 .item::before { content: '*'; color: red } .item::after { content...: '*'; color: red } 二、::before 略 三、::cue 匹配所选元素中的WebVTT提示。...四、::first-letter 修改块级元素的第一行的第一个字母,比如你经常看到故事书中的第一个文字是大写的,就可使用它在页面上做对应的设置 五、::first-line 用在块级元素上的第一行 六、
伪元素: CSS 伪元素用于设置元素指定部分的样式 作用: 1.设置元素的首字母、首行的样式 2.在元素的内容之前或之后插入内容 ::first-line 伪元素:用于向文本的首行添加特殊样式。...注意:::first-line 伪元素只能应用于块级元素。...注意:::first-letter 伪元素只适用于块级元素。...::before 伪元素可用于在元素内容之前插入一些内容。...伪元素清除浮动: 需要设置浮动元素父级元素class属性为clearfix 通过设置.clearfix::after样式清除浮动,如下: .clearfix::after {
在CSS的探索之旅中,伪类和伪元素无疑为我们的样式设计增添了无限可能。它们不仅能够帮助我们精确地定位文档中的元素,还能实现丰富的交互反馈和视觉效果。...本文旨在深入浅出地探讨CSS伪类与伪元素的核心概念、常见问题、易错点及其规避策略,并通过实例代码加深理解。...双冒号与单冒号的使用 问题描述:CSS3规范中,伪元素推荐使用双冒号(::),而伪类仍使用单冒号(:),但在旧版浏览器中,双冒号可能不被支持。...注意事项:保持逻辑清晰,通常先写伪类再写伪元素,并注意CSS特性的优先级规则。 4. 使用content属性 问题描述:在伪元素中忘记使用content属性,导致样式不生效。...希望本文能成为你探索CSS高级选择器路上的一盏明灯。
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选择器用于选择活动链接。
DOCTYPE html> 68-伪元素选择器 <style...*/ content: "么么哒"; /*指定添加的子元素的宽度和高度*/ width: 50px; /*...-- 1.什么是伪元素选择器?...伪元素选择器作用就是给指定标签的内容前面添加一个子元素或者给指定标签的内容后面添加一个子元素 2.格式: 标签名称::before{ 属性名称:值; } 给指定标签的内容前面添加一个子元素...标签名称::after{ 属性名称:值; } 给指定标签的内容后面添加一个子元素 --> <!
层叠样式表(CSS)的主要目的是给HTML元素添加样式,然而,在一些案例中给文档添加额外的元素是多余的或是不可能的。事实上CSS中有一个特性允许我们添加额外元素而不扰乱文档本身,这就是“伪元素”。...关于语法和浏览器支持 伪元素实际上在CSS1中就存在了,但是我们现在所讨论的:before和:after则发布于CSS2.1中。...在最初,伪元素的语法是使用“:”(一个冒号),随着web的发展,在CSS3中修订后的伪元素使用“::”(两个冒号),也就是::before 和 ::after—以区分伪元素和伪类(比如:hover,:active...结合伪类 尽管有不同类型的伪X(伪元素、伪类),我们可以使用伪类连同伪元素一起放入一个CSS规则中,例如,如果我们希望当我们的鼠标移到blockqoute上时,引号的背景色能够略微变深。 ?...3D按钮 这是一个非常聪明的实现,利用伪元素结合CSS3 box-shadow 来绘制一个令人吃惊的3D按钮,仅仅使用了CSS和单一的锚文本。伪元素:before 被用来在按钮的左侧添加数字“1”。
前言 熟悉前端的人都会听过css的伪类与伪元素,然而大多数的人都会将这两者混淆。本文从解析伪类与伪元素的含义出发,区分这两者的区别,即使你有用过伪类与伪元素,但里面总有一两个你没见过的吧。...伪类与伪元素 先说一说为什么css要引入伪元素和伪类,以下是css2.1 Selectors章节中对伪类与伪元素的描述: CSS introduces the concepts of pseudo-elements...直译过来就是:css引入伪类和伪元素概念是为了格式化文档树以外的信息。也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。...虽然它和普通的css类相似,可以为已有的元素添加样式,但是它只有处于dom树无法描述的状态下才能为元素添加样式,所以将其称为伪类。 伪元素用于创建一些不在文档树中的元素,并为其添加样式。...伪元素是使用单冒号还是双冒号 CSS3规范中的要求使用双冒号(::)表示伪元素,以此来区分伪元素和伪类,比如::before和::after等伪元素使用双冒号(::),:hover和:active等伪类使用单冒号
比如伪元素 :before和:after,用于在css渲染中向元素的头部或尾部插入内容,它们不受文档约束,也不影响文档本身,只影响最终样式。...这些添加的内容不会出现在DOM中,仅仅是在css渲染层中加入。 它不存在于文档中,所以js无法直接操作它。而jQuery的选择器都是基于DOM元素的,因此也并不能直接操作伪元素。...::selection:CSS伪元素应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分)。(只支持双冒号的形式)。 ...更改伪元素的样式 1、更换class来实现伪元素属性值的更改: // CSS代码 .red::before { content: "red"; color: red; } .green::before...但是伪元素的内容只存在于CSS渲染树中,并不存在于真实的DOM中。所以为了seo优化,最好不要在伪元素中包含与文档相关的内容。 修改伪元素的样式,建议使用通过更换class来修改样式的方法。
CSS的选择器除了根据id、class、属性等从DOM中获取元素的以外,还有很重要的一类,用来获取元素的特别内容或特别状态,这就是 伪元素(Pseudo-elements) 和 伪类(Pseudo-classes...) [I] 伪元素 伪元素是对元素中的特定内容进行操作,选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。...它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文档中,所以叫伪元素 ::before 在元素内容之前插入额外生成的内容 ::after 在元素内容之后插入额外生成的内容 ::..., text-emphasis-color, text-decoration 等样式有效 [1.5] Javascript与伪元素的有限交互 因其不在dom中,无法直接对伪元素绑定事件等 可以获取伪元素的样式...rgb(255, 255, 255); padding-left: 10px; } 此时如果点击了href="#romero"的a标签,对应的h2就会高亮 一些简单的tab切换等也可以在不借助js
CSS3 浏览器支持情况 网址查询:caniuse.com CSS3的伪类选择器(一) 动态伪类选器 a:link{} a:visited{} a:hover{} a:active{} UI元素状态伪类选择器... html部分: // disable 是状态 CSS部分:(根据状态确定样式) input :enable{} input:disable{} CSS3的伪类选择器(二) 结构伪类选择器.../li> css...li:empty{} 选中的li标签父元素是空的 伪元素 html: css: .demo::first-letter{} 文本段落首字 .demo::first-line...{} 文本段落首行 .demo::before{ //demo之前 content:; //伪元素的content属性必须要有,不设置也要有,留空 } .demo::after{
领取专属 10元无门槛券
手把手带您无忧上云