我刚看到一个包含::before
标签的CSS代码。我看着MDN看看::before
是什么,但我真的不明白它。有人可以解释它的工作原理吗?它是否在我们通过CSS选择之前制作DOM元素?之前和之前有什么区别?
47
A
回答
12
这将伪元素与伪类区分开来。
伪类和伪元素之间的差在http://www.d.umn.edu/~lcarlson/csswork/selectors/pseudo_dif.html
+3
在CSS3中引入::之前的符号(带有两个冒号),以便建立伪类和伪元素之间的区分。浏览器也接受以下注释:在CSS 2中引入之前。来源:https://developer.mozilla。org/en-US/docs/Web/CSS/:: before前面是一个伪ELEMENT而不是伪CLASS(如:hover),两个冒号比较好(因此遵循CSS3标准)。 – JoostS
35
根据这些文档,它们是等效的:
element:before { style properties } /* CSS2 syntax */
element::before { style properties } /* CSS3 syntax */
唯一的区别是,该双冒号在CSS3使用,而单个结肠是旧版本。
推理:
的::之前在CSS 3被引入,以建立伪类和伪元件之间的 判别符号。浏览器 也接受符号:在引入CSS 2之前。
5
它们实质上是指同一件事。在CSS3中引入了::
以帮助伪描述伪元素(如:before和after)和伪类(如:link和:hover)。
2
一个是CSS2(之前)的方式,另一个是CSS3(之前)。目前它们在支持CSS2 & CSS3的浏览器中可以互换。
3
相关问题
- 1. X10之前或之后的'async'有什么区别?
- 2. 在main()之前或之后声明函数有什么区别?
- 3. 使用前后的“:”和“::”之间有什么区别?
- 4. - - 和 - 命令选项之前有什么区别?
- 5. 为什么Bash中'['之前和之前']有空格?
- 6. fgets和当前有什么区别?
- 7. WebGL扩展的前缀之间有什么区别
- 8. 函数调用add()之前的_(下划线)有什么区别?
- 9. “层”和“层”之间有什么区别?
- 10. Tableau和QlikView之间有什么区别
- 11. Microsoft.CompilerServices.AsyncTargetingPack和Microsoft.Bcl.Async之间有什么区别?
- 12. @Entity和@embeddable之间有什么区别
- 13. ContentObservable和DataSetObservable之间有什么区别?
- 14. touchmove和gesturechange之间有什么区别?
- 15. :notification.flags和notification.defaults之间有什么区别?
- 16. proc和lambda之间有什么区别?
- 17. :: after和after之间有什么区别?
- 18. read()和io.read()之间有什么区别?
- 19. Request()和Request.Form()之间有什么区别?
- 20. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之间有什么区别?
- 21. getA()和this.getA()之间有什么区别?
- 22. (int)和intval()之间有什么区别?
- 23. set_value和= pandas之间有什么区别
- 24. * zoom和zoom之间有什么区别?
- 25. {0}和“”之间有什么区别?
- 26. typedef和using之间有什么区别?
- 27. “”和“'之间有什么区别?
- 28. STDIN和tty之间有什么区别?
- 29. +和%之间有什么区别?
- 30. sysfs_create_file()和sysfs_create_group()之间有什么区别?
AFAIK描述的那样,CSS工作组决定前缀伪元素与另外的结肠从中仅具有一个冒号伪类区分。 –
...因为双冒号表示法在IE8中没有实现,所以在我们开始使用':: before'之前,我们必须等待'直到它从市场上被刷新(如2016年左右)。伟大的工作,微软'-.-' –
自CSS1以来,伪元素一直存在。第一个伪元素是“:首字母”和“:第一行”。 – BoltClock