之前和之前有什么区别?

我刚刚看到一个包含::before标签的CSS代码。 我看着MDN看看::before是什么,但是我真的不明白这一点。 有人可以解释它是如何工作的? 它在我们用CSSselect之前是否创build了一个DOM元素?

这将伪元素与伪类区分开来。

伪类和伪元素的区别在http://www.d.umn.edu/~lcarlson/csswork/selectors/pseudo_dif.html

根据这些文件,它们是相当的:

 element:before { style properties } /* CSS2 syntax */ element::before { style properties } /* CSS3 syntax */ 

唯一的区别是在CSS3中使用双冒号,而单冒号是旧版本。

推理:

::之前的符号在CSS 3中被引入,以便在伪类和伪元素之间build立区分。 浏览器也接受符号:在CSS 2中引入之前。

他们基本上是指同样的事情。 The ::是在CSS3中引入的,以帮助在伪元素(如:before和:after)和伪类(如:link和:hover)之间进行区分。

一个是CSS2(之前)的方式,另一个是CSS3(::之前)。 目前它们在支持CSS2和CSS3的浏览器中是可以互换的。

这是一个很好的解释: http : //www.impressivewebs.com/before-after-css3/

我检查了MDN和w3.org ,我能想到的最好的是:::用于结构更改,并且:用于样式

由于兼容性的原因,它们目前可以互换。

它似乎分开:link (例如),其样式<a> ,从:before (这是一个结构性的变化)。

:是造型, ::为结构。