在css中,一直用单冒号表示伪类,比如:hover、:active等。
而伪元素在css1中也是用单冒号表示,如:before、:after。
css3中修订,伪元素用双冒号表示,如::after、::before,以此来区分伪类和伪元素。但是低版本的IE浏览器对双冒号不兼容,比如IE8、所以如果想要兼容低版本浏览器可以继续使用单冒号语法表示伪元素。

除了::before和::after,css3还新增了其他伪元素,这些伪元素只支持双冒号的写法:

  1. ::first-letter 匹配元素的第一个字母
  2. ::first-line 匹配元素的第一行
  3. ::selection 匹配元素被鼠标或者其他选择设备选中的文本或区域
  4. ::placeholder 匹配输入框中的提示文本