©
本文档使用
php.cn手册 发布
E:before/E::before { sRules }
CSS3将伪对象选择符(Pseudo-Element Selectors)前面的单个冒号(:)修改为双冒号(::)用以区别伪类选择符(Pseudo-Classes Selectors),但以前的写法仍然有效。
即E:before可转化为E::before
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+ | |||||||
::before | 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::before。
不支持设置属性position, float, list-style-*和一些display值,Firefox3.5开始取消这些限制。
IE10在使用伪元素动画有一个问题:
例如:
.test:hover {}
.test:hover::before { /* 这时animation和transition才生效 */ }
需要使用一个空的:hover来激活
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <title>E::before_CSS参考手册_web前端开发参考手册系列</title> <meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" /> <style> p{position:relative;color:#f00;font-size:14px;font-size:0\9;*font-size:14px;} p:before{position:absolute;background:#fff;color:#000;content:"如果你的能看到这段文字,说明你的浏览器只支持E:before";font-size:14px;} p::before{position:absolute;background:#fff;color:#000;content:"如果你的能看到这段文字,说明你的浏览器支持E:before和E::before";font-size:14px;} </style> </head> <body> <p>Sorry, 你的浏览器不支持E:before和E::before</p> </body> </html>
点击 "运行实例" 按钮查看在线实例