【Vue 页面+flex布局 】一行内显示4个元素,超出4个换行,每一行的最后一个去掉marginRight属性

问题

一行展示4个,每个元素之间的margin-right 为20px,导致最右侧没有和上面的输入框对齐

在这里插入图片描述

实现效果

在这里插入图片描述

修改

正确思路: 一行展示4个,前三个元素之间的margin-right 为20px,最后一个元素margin-right 设置为 0px

代码

<div class="boxList-con">
    <div class="boxList-item">
        <div class="lock-gStatus">//...头部</div>
        <div class="lock-barcode"> ///...中间部分</div>
        <div class="lock-task">//...下面部分</div>
    </div>
    <div class="boxList-item">
       <div class="lock-gStatus">//...头部</div>
        <div class="lock-barcode"> ///...中间部分</div>
        <div class="lock-task">//...下面部分</div>
    </div>
    <div class="boxList-item">
        <div class="lock-gStatus">//...头部</div>
        <div class="lock-barcode"> ///...中间部分</div>
        <div class="lock-task">//...下面部分</div>
    </div>
    <div class="boxList-item">
      <div class="lock-gStatus">//...头部</div>
        <div class="lock-barcode"> ///...中间部分</div>
        <div class="lock-task">//...下面部分</div>
    </div>
    <div class="boxList-item">
        <div class="lock-gStatus">//...头部</div>
        <div class="lock-barcode"> ///...中间部分</div>
        <div class="lock-task">//...下面部分</div>
    </div>
    <div class="boxList-item">
        <div class="lock-gStatus">//...头部</div>
        <div class="lock-barcode"> ///...中间部分</div>
        <div class="lock-task">//...下面部分</div>
    </div>
    <div class="boxList-item">
        <div class="lock-gStatus">//...头部</div>
        <div class="lock-barcode"> ///...中间部分</div>
        <div class="lock-task">//...下面部分</div>
    </div>
</div>

CSS

(1)父元素CSS:boxList-con

.boxList-con {
  display: flex;   /* flex布局 */
  justify-content: flex-start;   /* 左对齐 */
  flex-wrap: wrap;   /* 换行 */
}

(2)子元素CSS:

.boxList-item {
  margin-right: 20px;   /* 每个元素右间距设置为20px */
  /* 计算每个元素的宽度:60px是前三个元素的间距(margin-right)和,除以4即为每个元素的宽度 */
  width: calc((100% - 60px) / 4);
}

/* 将下标是4的倍数元素的margin-right设置为0,即将每行最后一个元素的margin-right置0 */
.boxList-item:nth-of-type(4n+0) {
  margin-right: 0;
}

//或者这样写
.boxList-item :nth-child(4n) {
    margin-right: 0;
}
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值