一尘不染

伪类和伪元素之间有什么区别?

css

div::after {}和之间有什么区别div:after {}?我们什么时候必须使用:::

双冒号和单冒号表示法是区分伪类和伪元素。

以上声明的实际含义是什么?


阅读 678

收藏
2020-05-16

共1个答案

一尘不染

伪类:

CSS伪类是关键字,其前面带有一个冒号(:),并添加到选择器的末尾,以指定要对选定元素进行样式设置( 仅当它们处于特定状态时)
。例如,您可能只想在元素被鼠标指针悬停时设置样式,或者在元素被禁用或选中时选中一个复选框,或者是作为其父元素在DOM树中的第一个子元素的元素。

例子:

  • :active
  • :checked
  • :nth-child()
  • :first
  • :hover

伪元素::

伪元素与伪类非常相似,但是它们有所不同。它们是关键字,这次是两个冒号(::)开头,可以将其添加到选择器的末尾 以选择元素的特定部分

例子:

  • ::after
  • ::before
  • ::first-letter
  • ::first-line
  • ::selection
  • ::backdrop

如@stephanmg所述:

实际上,由于浏览器的兼容性,:: before用作:before,而::
after用作:after。两者都是伪元素,但看起来像伪类。如果您阅读CSS代码,这可能会造成混淆。

2020-05-16