css伪元素覆盖,CSS:befor:after伪元素的巧妙⽤法
本篇重点介绍CSS中的:befor、:after创建的伪元素⼏种使⽤场景,如填充⽂本、作为iconfont、进度线、时间线以及⼏何图形。
1. 介绍
1.1 说明
CSS中的:befor、:after都会创建⼀个伪元素,其中:befor创建的伪元素是所选元素的第⼀个⼦元素,:after创建的伪元素是所选元素的最后⼀个⼦元素。
:befor、:after创建的伪元素默认样式为内联样式。
1.2 语法
/* CSS3 */
selector::before
/* CSS2 */
selector:before
CSS3引⼊了 ::(两个冒号)是⽤来区分伪类(:⼀个冒号)和伪元素(::两个冒号)。
伪类:操作元素本⾝,如 :hover、:first-child、:focus等等。
伪元素:操作元素的⼦元素,如 ::before、::after、::content等等。
在IE8中只⽀持:(⼀个冒号),所以为了兼容这些浏览器也可以使⽤ :befor、:after。
1.3 content属性
content 属性表⽰伪元素填充的内容。
⽰例
CSS:
.test-div {
width: 100px;
height: 100px;
margin-left: 20px;
background-color: #eee;
}
.test-div::before {
content: "♥";
color: red;
}
.test-div::after {
content: "♥";
color: blue;
}
HTML页⾯:
效果:
1.4 可替换元素
可替换元素(replaced element):其展现不由CSS来控制的。这些元素是⼀类外观渲染独⽴于CSS的对象。
典型的可替换元素有、、 、 以及 表单元素,如、 。
某些元素只在⼀些特殊情况下表现为可替换元素,例如 和 。
:befor :after 在此类元素内是不⽣效的。
1.5 浏览器⽀持情况
IE9版本才开始完全⽀持 :befor :after ,Chrome、Firefox现都已全线⽀持。
IE Edge Firefox Chrome Android
Chrome iOS
div border属性Safari
9 all 2 all all all
2. 应⽤场景
2.1 ⽀持⽂本字符
说明:content属性⽀持⽂本字符。
⽰例:
2.2 ⽀持iconfont
说明:content属性也⽀持iconfont字体图表的展⽰。这也是使⽤最多的场景。
⽰例:此⽰例已引⽤了阿⾥iconfont图标库
2.3 进度线与时间线
说明::befor :after创建的伪元素可以以线条⽅式定位在元素周边的指定位置上,如进度线和时间线。
1) 进度线
2) 时间线
2.4 ⼏何图形
说明:通过设置 :befor :after 伪元素的border相关属性,可创建⾮常多的⼏何图形;如三⾓形、多边形、五⾓星等等。
1) 矩形
说明:默认情况下,:befor :after 伪元素的border边框属性与其他HTML元素⼀样。
CSS:
div::before {
width: 0px;
height: 0px;
content: '';
position: absolute;
border-top: 50px solid #f50000;
border-right: 50px solid #6cc361;
border-bottom: 50px solid #6167c3;
border-left: 50px solid #fa00d9;
}
效果:
2) 三⾓形
说明:显⽰某⼀⽅位的border,并隐藏左右2边的border(背景设置为透明),可让伪元素显⽰三⾓形的形状。
⽰例:
总结
以上所述是⼩编给⼤家介绍的CSS :befor :after 伪元素的巧妙⽤法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对脚本之家⽹站的⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。