首页  >  选择符 Selectors  >  伪对象选择符  >  E:before/E::before

版本 : CSS2/CSS3 E:before/E::before

语法:

E:before/E::before { sRules }

说明:

设置在对象前(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用,并且必须定义content属性
  • CSS3将伪对象选择符(Pseudo-Element Selectors)前面的单个冒号(:)修改为双冒号(::)用以区别伪类选择符(Pseudo-Classes Selectors),但以前的写法仍然有效。

    即E:before可转化为E::before

兼容性:

  • 浅绿 = 支持
  • 红色 = 不支持
  • 粉色 = 部分支持
SelectorIEFirefoxChromeSafariOperaiOS SafariAndroid BrowserAndroid Chrome
Basic Support6.0-7.02.0-3.0 #24.0+3.1+15.0+3.2+2.1+18.0+
8.0+3.5+
::before6.0-7.02.0-3.0 #2
8.0 #13.5+
9.0+
应用动画6.0-9.02.0-3.54.0-25.03.1-6.015.0+3.2-6.12.1-3.018.0-25.0
10.0+ #34.0+26.0+6.1+7.0+4.0+26.0+
  1. 本质上并不支持伪元素的双冒号(::)写法,而是忽略掉了其中的一个冒号,仍以单冒号来解析,所以等同变相支持了E::before。
  2. 不支持设置属性position, float, list-style-*和一些display值,Firefox3.5开始取消这些限制。
  3. IE10在使用伪元素动画有一个问题:

    例如:

    .test:hover {} .test:hover::before { /* 这时animation和transition才生效 */ }

    需要使用一个空的:hover来激活