最近项目布局上要求item两端对齐,而且最后一行在列不满的情况下要求左对齐,使用flex的justify-content: space-between;
实现时发现最后一行不能左对齐,而是两端对齐方式,下图不是项目上想要的效果(不使用flex也可以实现,本文仅讨论使用flex实现)
在网上查了很多资料,
1.添加几个空item(对我来说最有效的,适用于大多数场景)
根据布局列数添加空item,比如每行最大n列,那么在最后添加n-2个空item即可
<html>
<style> .item { width: 32%; background-color: #00abff; 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>
2.利于after(适用于每行列数确定的场景)
.box:after { content: ""; flex: auto; }