E:after/E::after

语法

  • E:after/E::after { sRules }

说明

设置在对象后(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用,并且必须定义content属性

  • CSS3将伪对象选择符(Pseudo-Element Selectors)前面的单个冒号(:)修改为双冒号(::)用以区别伪类选择符(Pseudo-Classes Selectors),但以前的写法仍然有效。即E:after可转化为E::after

兼容性

Selector IE Firefox Chrome Safari Opera iOS Safari Android Browser Android Chrome
Basic Support 6.0-7.0 2.0-3.0 #2 4.0+ 3.1+ 15.0+ 3.2+ 2.1+ 18.0+
8.0+ 3.5+
::after 6.0-7.0 2.0-3.0 #2
8.0 #1 3.5+
9.0+
应用动画 6.0-9.0 2.0-3.5 4.0-25.0 3.1-6.0 15.0+ 3.2-6.1 2.1-3.0 18.0-25.0
10.0+ #3 4.0+ 26.0+ 6.1+ 7.0+ 4.0+ 26.0+
  • 本质上并不支持伪元素的双冒号(::)写法,而是忽略掉了其中的一个冒号,仍以单冒号来解析,所以等同变相支持了E::after。
  • 不支持设置属性position, float, list-style-*和一些display值,Firefox3.5开始取消这些限制。
  • IE10在使用伪元素动画有一个问题:

例如:

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

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

示例


<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<style>
p{position:relative;color:#f00;font-size:14px;font-size:0\9;*font-size:14px;}
p:after{position:absolute;left:0;background:#fff;color:#000;content:"如果你的能看到这段文字,说明你的浏览器只支持E:after";font-size:14px;}
p::after{position:absolute;left:0;background:#fff;color:#000;content:"如果你的能看到这段文字,说明你的浏览器支持E:after和E::after";font-size:14px;}
</style>
</head>
<body>
<p>Sorry, 你的浏览器不支持E:after和E::after</p>
</body>
</html>