flex布局space-between,最后一行左对齐
2019-11-10 本文已影响0人
刘其瑞
space-between 是俩端对齐,估计出现问题:
最后一行被撑开了,不是我们想要的!!那如何让最后一左对齐呢?
方法一、添加几个空item
根据布局列数添加空item,比如每行最大n列,那么在最后添加n个空item即可
<html>
<style>
.item {
width: 32%;
height: 60px;
margin-top: 10px;
}
.itemempty {
height: 0px;
width: 32%;
}
.box {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
</style>
<body>
<div class="box">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="itemempty"></div>
<div class="itemempty"></div>
<div class="itemempty"></div>
</div>
</body>
</html>
方法二,使用after
网上常见的after方法,实现效果只是左对齐,而且中间间隔并不好控制
.box:after {
content: "";
flex: auto;
}
解决方法: 在父元素的after伪元素中宽度设置成与item的宽一样即可(仅三个内可用)
&:after {
content: "";
width:32%;
}
最终实现效果:
6AE282720D9F1E7D49ABF69368A49FC0.png