首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS“::”vs“:”--伪元素vs伪选择器?

CSS“::”vs“:”--伪元素vs伪选择器?
EN

Stack Overflow用户
提问于 2015-04-21 01:28:48
回答 1查看 16.2K关注 0票数 27

我正在研究css和排版,遇到了伪选择器这个有趣的概念。我使用过单冒号的psuedo选择器,但不熟悉双冒号版本的psuedo选择器。I understand双冒号被称为伪元素而不是伪选择器--但为什么呢?有什么不同呢?

我也知道单冒号更受支持,那么在什么情况下会使用双冒号伪元素呢?是否存在需要双冒号而单冒号无法完成工作的用例?那会是什么情况呢?

与伪元素不同,伪类可以出现在选择器链中的任何位置。(引用自link) -我不知道“选择器链”是什么,但这似乎也是双冒号方法的另一个局限性。如果(在我的理解中)双冒号只是一个不太受支持的单冒号版本,为什么我需要使用双冒号呢?

编辑:它们在功能上似乎不同:fiddle

代码语言:javascript
复制
<div><p>First Line</p></div>
<div><p>Second Line</p></div>

css

代码语言:javascript
复制
div:nth-child(1) > p { 
    color: green;
}

div::nth-child(2) > p { 
    color: blue;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-21 01:43:50

伪类(:)允许您对元素的不同状态设置样式,例如,当您将鼠标悬停在其上时,当它被禁用时,当它是其父级的第一个子级时,等等。

伪元素(::)允许您对元素的不同部分设置样式,例如第一行、第一个字母、在前面或后面插入内容等。

最初,它们都使用单冒号,但CSS3引入了双冒号来分隔这两个冒号。

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

https://stackoverflow.com/questions/29754474

复制
相关文章

相似问题

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