前面一篇文章我们了解如何用js控制伪元素的样式,接下来我们看看如何修改伪元素的content属性,因为伪元素并不存在在dom中,所以我们只能通过修改样式表的方式来修改content内容,除了修改样式表还有另外一种方式...首先我们看如何通过修改样式表的方式修改伪元素content的内容,代码如下: <!...第二种方式我们使用css的attr函数来指定content的内容指向,然后修改其指向的data-属性: <!...//获取原先的内容 $('.red').attr('data-attr',"99999") }) 以上便是使用js修改伪元素
:first-letter 伪元素的样式将应用于元素文本的第一个字(母)。 :first-line 伪元素的样式将应用于元素文本的第一行。 :before 在元素内容的最前面添加新内容。...:after 在元素内容的最后面添加新内容。...伪元素和伪类的区别: 与伪类针对特殊状态的元素不同的是,伪元素是对元素中的特定内容进行操作,设计伪元素的目的就是去选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作...它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文档中,所以叫伪元素。
CSS伪类与伪元素 每日更新前端基础,如果觉得不错,点个star吧 ?...结构性伪类 CSS3新增选择器,利用dom树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少class和id属性的定义,使文档结构更简洁。...:disabled 匹配禁用的表单元素 :enabled 匹配没有设置disabled属性的表单元素 :valid 匹配条件验证正确的表单元素 伪元素 用于创建一些不在文档树中的元素,并为其添加样式。...比如说,我们可以通过::before来在一个元素前增加一些文本,并为这些文本添加样式。 CSS3规范中要求使用单冒号:用于CSS3伪类,双冒号::用于 CSS3伪元素,目的是区分伪类和伪元素。...::selection 匹配用户被用户选中或者处于高亮状态的部分 ::placeholder 匹配占位符的文本,只有元素设置了placeholder属性时,该伪元素才能生效
1.伪类与伪元素 先说一说为什么css要引入伪元素和伪类,以下是css2.1 Selectors章节中对伪类与伪元素的描述: CSS introduces the concepts of pseudo-elements...直译过来就是:css引入伪类和伪元素概念是为了格式化文档树以外的信息。也就是说,伪类和伪元素是用来修饰不在文档树中的部分,比如,一句话中的第一个字母,或者是列表中的第一个元素。...因此,伪类与伪元素的区别在于:有没有创建一个文档树之外的元素。 3.伪元素是使用单冒号还是双冒号?...CSS3规范中的要求使用双冒号(::)表示伪元素,以此来区分伪元素和伪类,比如::before和::after等伪元素使用双冒号(::),:hover和:active等伪类使用单冒号(:)。...实际上,伪元素使用单冒号还是双冒号很难说得清谁对谁错,你可以按照个人的喜好来选择某一种写法。 4.伪类与伪元素的具体用法 这一章以含义解析和例子的方式列出大部分的伪类和伪元素的具体用法。
利用伪元素:after清除浮动 让页面呈现多列布局时经常会使用 float:left/right ,可是浮动布局会导致父元素的高度为0(未设置高度的情况下),不会根据子元素的高度而变化,另外,后面不需要浮动想在下一行显示的标签出现在浮动元素的后面...所以我们在使用浮动进行布局的时候会需要一个块级元素(行内元素无效)来设置 clear 属性,如果浮动元素下方本来就有元素,那我们可以直接对该元素设置 clear:both ,若没有其他元素需要展示,我们往往会写一个空白标签来清除浮动... 但是这样无疑会增加浏览器的渲染负担,所以考虑使用伪元素 :after 来代替这个空白标签,因为清除浮动需要在浮动元素后面,所以不可以使用...:before ,对 :after 设置 content:"" ,并使其 display:block 成为块级元素后 clear:both 来清除浮动: #content:after{content:"
什么是伪元素 伪元素表示了某个元素的子元素。这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中。 因为伪元素并不在文档树中,所以通过JS,也抓取不到伪元素,也不能给它绑事件。...语法 伪元素以::开头。 在CSS1和CSS2中,伪元素和伪类一样,都是用:开头。但在CSS3中,伪元素以::开头,用以和伪类进行区分。 IE8不支持::。因此如果要兼容IE8,只能用:。...title属性 */ } .element::before { content: url(path/to/image.png); /* 一个图片 */ } .element::before...selection.png 对::selection的只能使用 color, background-color和text-shadow这几个属性。...相关文章 CSS伪元素的一些坑
伪类和伪元素 伪类:是以一个冒号作为前缀,被添加到选择器的末尾,当你希望在特定状态下(:hover)才被呈现到指定元素时,可以往元素的选择器后面加上伪类。...常用的伪类和伪元素 伪类可以从状态类伪类、结构类伪类、其它伪类和表单相关伪类进行分类。...,其中content属性指定要加入的内容,content必须有值(空值也可以),其默认伪inline,可以通过display:block改变....content属性:空值、字符串、url、attr、counter。...url:引用媒体文件(比如图片) attr:可以调用当前元素内的某个属性(比如a标签的href属性) counter计数器:可以不使用列表元素实现序号功能。
伪元素技巧 在 CSS 伪元素基本用法一文中讲述了伪元素的基础功能,本章学习一些进阶功能,看看伪元素能实现哪些方便好用的功能。...clear 属性可以对应的属性值有: left 在左侧不允许浮动元素。 right 在右侧不允许浮动元素。 both 在左右两侧均不允许浮动元素。 none 默认值。允许浮动元素出现在两侧。...inherit 规定应该从父元素继承 clear 属性的值。...background-color: red; padding: 0 10px; } .divide:before { left: 0; } .divide:after { right: 0; } 调用元素属性...通过在 content 中使用 attr 函数可以调用元素的属性。
伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。...伪类的种类 伪元素的种类 区别 这里用伪类 :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魔法堂:稍稍深入伪类选择器》记录完伪类后,我自然而然要向伪元素伸出“魔掌”的啦^_^。本文讲讲述伪元素以及功能强大的Contet属性,让我们可以通过伪元素更好地实现更多的可能!...初识伪元素 说起伪元素我第一想到的莫过于::before和::after这两个了,它俩其实就是在其附属的选择器命中的元素上插入第一个子节点和追加最后一个子节点。...可用的CSS属性为background,color。 有没有发现有的伪元素前缀是:有的却是::呢?...::是CSS3的写法,其实除了::selection外,其他伪元素既两种前缀都是可以的,为兼容性可选择使用:,为容易区分伪元素和伪类则使用::,但我还是建议使用::来提高可读性,兼容性就让postcss...那就是Content属性,不仅仅可以简单直接地设置一个字符串作为伪元素的内容,它还具备一定限度的编程能力,就如上面attr(title)那样,以其附属元素的title特性作为content值。
结构化伪类是 CSS3 新增选择器,利用 DOM 树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少 class 和 id 属性的定义,使文档结构更简洁。...选择没有required属性,即设置 optional属性的表单元素 :read-only input:read-only 选择设置只读属性的表单元素 :read-write input:read-write...实际上,lang=” “ 属性不只可以在 html 标签上设置,也可以在其他的元素上设置。 :dir 匹配指定阅读方向的元素。 当 HTML 元素中设置了 dir 属性时该伪类才能生效。...4 伪元素列举 伪类和伪元素-2.png 4.1 单双冒号 选择器 示例 示例说明 ::before/:before 在被选元素前插入内容 需要使用 content 属性来指定要插入的内容。...-moz 前缀 ::placeholder 匹配占位符的文本 只有元素设置placeholder 属性时,该伪元素才能生效。
伪元素 伪元素是一个附加至选择器末的关键词,允许你对被选择元素的特定部分修改样式。 下例中的 ::first-line 伪元素可改变段落首行文字的样式。 /* 每一个 元素的第一行。...分类 伪类 ? 伪元素 ?... p:first-letter { font-size: 5em; } 从上述例子中可以看出,伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档数外的元素。...因此,伪类与伪元素的区别在于:有没有创建一个文档树之外的元素。...总结 1.伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息; 2.伪元素本质上是创建了一个有内容的虚拟容器; 3.CSS3中伪类和伪元素的语法不同; 4.可以同时使用多个伪类,而只能同时使用一个伪元素
为什么要引入伪类与伪元素? css引入伪类和伪元素概念是为了格式化文档树以外的信息。...结构性伪类:是css3新增选择器,利用dom树进行元素过滤,通过文档结构的互相关系来匹配元素,能够减少class和id属性的定义,使文档结构更简洁。...:disabled匹配禁用的表单元素。 :enabled匹配没有设置disabled属性的表单元素。 :valid匹配条件验证正确的表单元素。...::selection匹配用户被用户选中或者处于高亮状态的部分 ::placeholder匹配占位符的文本,只有元素设置了placeholder属性时,该伪元素才能生效 注意:你会发现伪类元素使用了两个冒号...counter-reset: 属性设置某个选择器出现次数的计数器的值。
熟悉前端的人都会听过css的伪类与伪元素,然而大多数的人都会将这两者混淆(包括我)。那今天就让我们来看看伪类和伪元素的区别吧!...伪类与伪元素 先说一说为什么css要引入伪元素和伪类,以下是css2.1 Selectors章节中对伪类与伪元素的描述: CSS introduces the concepts of pseudo-elements...:checked 被选中的input元素 :empty 匹配没有子元素的元素 :valid 匹配条件验证正确的表单元素。 伪元素 伪元素前面是两个冒号,E::first-line 伪元素。...::placeholder 匹配占位符的文本,只有元素设置了placeholder属性时,该伪元素才能生效。 该伪元素不是CSS的标准,它的实现可能在将来会有所改变,所以要决定使用时必须谨慎。...对于伪元素 :before 和 :after 而言,属性 content 是必须设置的,我们知道属性的值可以为字符串,也可以有其它形式,比如指向一张图片的 URL: content: url('img/
大家应该知道,伪元素的 content 属性不仅可以设置文字数字等,还可以引入图片。...其实伪元素的 content 属性引入的图片之所以不能设置尺寸,是因为 object-fit 是图片 img 的样式,伪元素虽然可以设置图片,但毕竟不是 img ,而且 JavaScript 也不能直接操作伪元素... height: 100px; background:url('img.png') background-size:cover; } 声明:本文由w3h5原创,转载请注明出处:《伪元素...content属性为图片时不能设置尺寸的解决方法》 https://www.w3h5.com/post/372.html
引 言 本章节主要讲解面向对象中的伪私有属性及其属性的修改办法。 ? 私有属性 什么叫做私有属性?简单来说,就是该属性可以在类中可见,但是外部不可见,不可进行访问的属性就是私有属性。 ? ?..._Person__sex = '女' # 将私有属性改变成女 # 再次查看私有属性 person...._Person__sex # 输出的结果:'女' 经过上边代码的演示,我们知道:通过在属性名或者函数名前加上“__“两个下划线实现私有属性的方法,其实是一种伪私有属性,所谓的伪是指:这种私有属性是可以改变的...python中使用name mangling技术,当使用“__“两个下划线定义私有属性时,程序会自动将原属性名变成_+classname(类名)+__原属性名,所以在外部使用原私有属性名时,提示找不到。...相反,通过上边代码方式即可查看私有属性及对私有属性进行修改。 ?
CSS3 规范中要求使用双冒号(::)添加伪元素,用以区分伪元素和伪类,比如 ::before 是伪元素,:hover 是伪类。...首行只在 block-container box 内部才有意义, 因此 :first-letter 伪元素 只在 display 属性值为 block, inline-block, table-cell...注意: 在一个使用了 :first-letter 伪元素的选择器中,只有很小的一部分 css 属性能被使用 ::first-letter :first-line :first-line 用来获取 块状元素...,只有很小的一部分css属性能被使用 ::first-line ::selection ::selection 伪元素应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分),该伪元素只支持双冒号的形式...::placeholder (试验性质) :placeholder 匹配占位符的文本,只有元素设置了 placeholder 属性时,该伪元素才能生效。
,伪元素前应该使用两个冒号,即:hover伪类,::before伪元素。...当主元素实在没办法扩大自身的时候,可以利用:before, :after来实现可点区域的扩大,还记得伪元素的特性之一,伪元素属于主元素,点伪元素就是点击主元素。...,这个特性的作用是用主元素的某个属性的值作为content的值,当这个属性的值改变的时候,伪元素的值也会跟着改变,利用这个特性就可以实现动态信息了。...可以有两种动态方案: 用js动态修改主元素的属性值,这个很直观 修改伪元素content关联的属性 下面看一个例子: //html: //<a class="datepicker__link z-today...预先把每个单元用到的月份信息和星期信息放到主<em>元素</em>的data<em>属性</em>上面(缓存的思想),选中的时候一般都是要添加一个选中态样式,这时,除了基本的凸显性样式外,同时切换<em>伪</em><em>元素</em>关联的data<em>属性</em>即可轻松地解决这个问题
伪类和伪元素用于css选择器,利用他们使css更灵活。...常见的伪元素 ::after ::after用于描述处于css渲染层的一个伪元素,相当于选中元素的最后一个子元素,但这个元素与DOM节点无关,位于选择的元素之后,伪元素的内容用content属性描述。...常见的伪类 伪元素与伪类的区别 伪元素将元素的某些部分作为元素选中(但不选中真正的元素),而伪类对应选择的元素的特殊状态(选择真正的元素)。...w3c的定义是,伪类用于向某些选择器添加特殊的效果(选择器已选中元素),伪元素用于将特殊效果添加到选择器(通过伪元素才能确定选中元素)。...:link 匹配未访问过的链接,要求具有href属性的元素。 :focus 被聚焦的状态,通常用于元素。
领取专属 10元无门槛券
手把手带您无忧上云