flex布局——space-between(around)最后一行不能左对齐的解决方案

14 篇文章 1 订阅

分为两种情况,分别是三列及三列以上的解决办法

1、三列时(图为借鉴的,懒得自己画)
在这里插入图片描述
要实现为
在这里插入图片描述
代码如下:

<div class="box">
	<div class="list" v-for="(item,index) in lists" :key="index">{{item}}</div>
<div>

data(){ return{ lists:[1,2,3,4,5,6,7,8,9,10,11,12,13,14] } }

.box {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.box:after{
	content:' ';
	width:32%; //这个宽度和子元素宽度一致
	height:0;
	display:block;
}
.box .list{
	width:32%;
}

2、三列以上时如下(图为借鉴)
在这里插入图片描述
实现为
在这里插入图片描述
代码如下:

<div class="box">
	<div class="list" v-for="(item,index) in lists" :key="index">{{item}}</div>
<div>

data(){ return{ lists:[1,2,3,4,5,6,7,8,9,10,11,12,13,14] } }

 .box {
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .box:after{
    content:' ';
    flex:auto;
  }
  .box .list{
	margin-right:0.55rem;
	width: -webkit-calc((100% - 0.55rem*4)/ 4);
	width: calc((100% - 0.55rem*4)/ 4); 
}

calc() 函数用于动态计算长度值。

需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);
任何长度值都可以使用calc()函数进行计算; calc()函数支持 “+”, “-”, “*”, “/” 运算;
calc()函数使用标准的数学运算优先级规则; 支持版本:CSS3

动态尺寸:calc((100% - padding * padding的数量 - margin * margin的数量 - border * border的数量) / 列数), 没有边距就不减。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值