1.描述你的问题:
我有一个block元素,当我给这个元素设置:after
伪元素后,并设置属性 border
、border-radius
后,再设置 absolute:position
,会使这个伪元素变成圆形,这是为什么?
2.以下是我的代码:
<!-- HTML -->
<div class="container"></div>
/* CSS */
.container {
width: 50px;
height: 50px;
}
.container:after {
border: 10px solid #000;
border-radius:50px;
content: "";
position:absolute;
}
3.下面贴出效果图
测试环境:chrome(版本 70.0.3538.110(正式版本) (32 位))
伪元素无绝对定位时:
伪元素有绝对定位时:
我在 CSS: display:inline-block and positioning:absolute 上找到了为什么。伪元素是一个
inline
元素,因此它的高度是浏览器默认字体大小的高度16px
。当给inline
元素设置position:absolute
后,它脱离了文档流,并不再显示高度,除非设置height
属性。因此在设置position:absolute
后,它会作为一个block
元素。 才会显示为一个圆形。