盒子flex浮动布局并且换行后左对齐

本文介绍如何通过CSS Flex布局解决元素换行后两端对齐的问题。通过设置justify-content: flex-start和flex-wrap: wrap,允许元素左对齐并换行。使用calc()计算宽度确保每行4个元素,同时利用:nth-of-type(4n+0){margin-right: 0;}消除特定元素的右侧间距,完成所需布局。
摘要由CSDN通过智能技术生成

今天有人问到下面这样一个问题

他想要的效果:
在这里插入图片描述
而他做出来的效果是:
在这里插入图片描述
他这个是flex布局,完了外层的盒子给了个 justify-content: space-between; 样式,这样大盒子里每个小视图块就均分了,但是换行后假如每行只能排4个,如果下一行不够4个,被两端对齐。

给出我的做法:

1、基本思路是外层容器flex布局,让内部的每个小容器从左向右按顺序排列(justify-content: flex-start;),并且允许换行(flex-start;flex-wrap: wrap;);

2、内层容器为了占满每一行,每个小容器用宽度用 calc()计算宽度。

例如每行布局4个,宽度写法:width: calc((100% - 36px) / 4);

取外层宽度100%-内层4个小容器的中间3个间距,我这里每个是12px,剩下的宽度就是每行分布的所有容器占据的总宽度,除以4就是每个宽度。

3、最后加个 :nth-of-type(4n+0){margin-right: 0;} ,作用是让每间隔4个内部小容器中最后一个的右间距为0,避免占用父容器的宽度。

css部分:

.content {
   width: 800px;margin: 50px auto;}
/*重点是下面几行样式*/
.outer-box {
   display: flex;justify-content: flex-start;flex-wrap: wrap;
  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值