CSS中 :before 和 ::before 的区别

相同点

  1. 都可以用来表示伪类对象,用来设置对象前的内容
  2. :befor 和 ::before 写法是等效的

不同点

  1. :befor 是 CSS2 的写法,::before 是 CSS3 的写法
  2. :before 的兼容性要比 ::before 好 ,不过在 H5 开发中建议使用 ::before 比较好

补充说明

  1. 伪类对象要配合 content 属性一起使用
  2. 伪类对象不会出现在 DOM 中,所以不能通过 js 来操作,仅仅是在 CSS 渲染层加入
  3. 伪类对象的特效通常要使用 :hover 伪类样式来激活
.test:hover::before { 
    /* 这时animation和transition才生效 */
 } 

参考:
https://blog.csdn.net/lxcao/article/details/52640662

原文地址:https://www.cnblogs.com/uakora/p/13550605.html