概念:就是给元素追加一个虚拟标签,由css加载,可以节省html的资源开销,必须有content属性,默认是行元素,可以进行转换。
::after:在指定的标签后面添加一个对象
::before:在指定的标签前面添加一个对象
content:元素里面的内容(内容中不能写标签)
语法:
元素::after{
content:"";
}
注意:伪对象样式中,必须有content属性,否则伪对象无效
多学一招:官方推荐使用双冒号,但是通常为了兼容性更好,我们使用单冒号
上面两个伪对象选择器需要结合属性content一起使用
<style type="text/css">
.box{width:200px;background:#f00;height:300px;}
.box::before{
content:'开头的内容';height:100px;
line-height:100px;color:#fff;background:#00f;
}
.box::after{
content:'这是一个段落';
background-color:green;
display:block;height:50px;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
效果图 |
---|
总结:
1.什么是伪对象?不是实际标签,使用css样式模拟一个标签
2.元素::after{}/元素::before{}
3.在伪元素样式中,必须有content属性
4.伪元素是行元素
布局的三种方式:
1.标准流:按照标签默认的特性摆放盒子
2.浮动流:利用浮动摆放盒子
3.定位流:利用定位摆放盒子