::before 和:before的区别是:早期的CSS规范中,为了避免与伪类选择器混,伪元素选择器使用单冒号(
:
)来表示。后来出现了新的伪元素选择器,为了与新的伪元素选择器区分,CSS3规范要求使用双冒号(::
)来表示伪元素选择器。
一、::before 和:before的区别
在CSS中,::before
和:before
是伪元素选择器,用于在目标元素的前面插入内容。两者的区别在于使用的单冒号(:
)和双冒号(::
)。
在早期的CSS规范中,伪元素选择器使用单冒号(:
)来表示,例如:before
和:after
。这样做是为了避免与伪类选择器混淆。伪类选择器用于在元素的状态上进行样式设置,例如:hover、:active和:focus等。
然而,随着CSS的发展,出现了新的伪元素选择器,如::selection
和::backdrop
。为了与这些新的伪元素选择器区分,CSS3规范更新了语法,要求使用双冒号(::
)来表示伪元素选择器。
::before
和:before
在语法上是等价的,两者都可以用于创建元素的内容。但是在CSS3规范中,建议使用::before
,以避免与伪类选择器混淆,并且更符合规范。