大盒子中使用flex使小盒子垂直居中,并使用了绝对定位后,想让盒子垂直之间有自适应的间距,怎么做
时间: 2024-01-14 08:03:53 浏览: 82
使用CSS实现盒子水平垂直居中的方法(8种)
5星 · 资源好评率100%
可以使用伪元素 ::before 或 ::after 来实现垂直间距的效果。具体实现步骤如下:
1. 在小盒子外层的大盒子中使用: flex;使小盒子垂直居中。
2. 在小盒子的父元素中添加 position: relative;使伪元素能够相对于父元素进行绝对定位。
3. 使用伪元素 ::before 或 ::after 来实现垂直间距的效果。使用 content 属性添加空内容,并设置宽度和高度为所需的间距大小,然后设置绝对定位和 top 属性来控制伪元素的位置。
示例代码如下:
```html
<div class="box">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
```
```css
.box {
display: flex;
justify-content: center;
align-items: center;
position: relative;
}
.item {
width: 100px;
height: 100px;
background-color: #ccc;
}
.item + .item::before {
content: "";
display: block;
width: 0;
height: 20px; /* 设置间距大小 */
position: absolute;
top: -20px; /* 控制伪元素的位置 */
}
.item:first-child::before {
display: none;
}
```
在这个例子中,我们使用了 .item + .item::before 选择器来选中除了第一个 .item 之外的所有 .item 元素,并添加了一个 ::before 伪元素来实现垂直间距的效果。同时,我们使用了 .item:first-child::before 选择器来隐藏第一个 .item 元素前面的间距。
阅读全文