首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >:Afs.与::after

:Afs.与::after
EN

Stack Overflow用户
提问于 2012-01-24 08:17:30
回答 2查看 24.8K关注 0票数 142

在CSS2.1 :after和CSS3 ::after伪选择器之间有什么功能上的区别(除了在老浏览器中不支持的::after )吗?使用新的规范有什么实际的理由吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-24 08:36:27

这是伪与pseudo-element的区别。

除了::first-line::first-letter::before::after (它们已经出现了一段时间,如果你需要IE8支持,可以使用单冒号),pseudo-elements需要双冒号。

选择实际的元素本身,你可以使用:first-child:nth-of-type(n)来选择<p>中的第一个或特定的元素,例如。

(以及:hover:focus等实际元素的状态。)

Pseudo-elements的目标是像::first-line::first-letter这样的元素的子部分,这些元素本身并不是元素。

实际上,更好的描述是:http://bricss.net/post/10768584657/know-your-lingo-pseudo-class-vs-pseudo-element

同样在这里:http://www.evotech.net/blog/2007/05/after-v-after-what-is-double-colon-notation/

票数 145
EN

Stack Overflow用户

发布于 2018-01-10 15:42:18

::after这样的CSS选择器是一些在DOM树中不能作为显式元素使用的虚拟元素。它们被称为"“,用于在元素之前/之后插入某些内容(例如:::before::after) 或选择元素的某些部分(例如:::first-letter)。目前只有5个标准的伪元素:after, before, first-letter, first-line, selection

另一方面,还有其他类型的选择器,称为"“,用于定义元素的特殊状态(如:hover:focus:nth-child(n))。这些操作将选择DOM中的整个现有元素。伪类是一个超过30个项目的长列表。

最初(在CSS2和CSS1中),伪类和伪元素都使用单冒号语法。但是,在CSS3中,::语法替换了伪元素的:表示法,以便更好地区分它们。

为了向后兼容,旧的单冒号语法对于像:after这样的伪元素是可以接受的(浏览器仍然都支持带有一个分号的旧语法)。只有IE-8不支持新语法(如果您想支持IE8,请使用单冒号)。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8980475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档