css伪类和伪元素(单冒号:和双冒号::的使用)

在CSS2之前规范不明确的时候,伪元素和伪类都使用单冒号(:)来表示。

比如 :before :after :hover

而CSS3规范中的要求使用双冒号(::)表示伪元素,以此来区分伪元素和伪类。

上面的例子用CSS3的规范就应该写成 ::before ::after :hover

为了兼容过去的写法,CSS3之前的伪元素仍然可以使用单冒号(:)来表示,浏览器是可以解析的。

比如 :before 和 ::before 都可以被浏览器解析。

但是CSS3之后出现的伪元素必须用双冒号表示,不再支持单冒号的形式。

  • 伪类一般反映无法在CSS中轻松或者可靠检测到的某个元素的状态或者属性;

  • 伪元素表示DOM外部的某种文档结构。

目前所有伪元素有(加粗的是CSS3之后出现):

  • ::after

  • ::before

  • ::first-letter

  • ::first-line

  • ::selection

  • ::backdrop

  • ::placeholder

  • ::marker

  • ::spelling-error

  • ::grammar-error

你可能感兴趣的:(css伪类和伪元素(单冒号:和双冒号::的使用))