使用flex布局怎么较好的完成一个列表的排布?求求大佬指点

发布于 2022-09-13 01:04:44 字数 544 浏览 17 评论 0

问题描述

我想使用flex布局去实现一个自适应的列表,定义了属性justify-content: space-around;,但是当项目数量不足以排列成一行时,会与其他项目的排布空隙不同,我该如何定义属性使项目不足以排列成一行时使其如上面的项目一样的间隙排列

问题出现的平台版本及自己尝试过哪些方法

1.使用媒体查询,设置项目的百分比,无法完成预期效果,因为预期是窗口大小改变,列表每行的数量也随之变动,用媒体查询的话,没法顾及到所有宽高
2.若是设置justify-content: flex-start;,宽度百分比的话,同理随着窗口大小改变行排布数量无法改变

相关代码

.container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  padding-top: 30rpx;
}

image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

倾城泪 2022-09-20 01:04:44

当初解决这个布局问题的时候,有参考了一篇张鑫旭的文章,不知是否对你有帮助。
张鑫旭

没有你我更好 2022-09-20 01:04:44

可以这样

.container .item:last-child{
    margin-right:auto
}
淡淡的优雅 2022-09-20 01:04:44

这种情况我用grid布局

天涯离梦残月幽梦 2022-09-20 01:04:44

Flexbox 比较适合用于处理一个维度的列表/布局;Grid更适合处理二维(行、列)的布局。
flex布局处理你例中的列表,很难兼顾对齐问题,虽然有挺多 css 技巧能解决这个问题。但个人感觉用grid更灵活。当然了,得考虑兼容问题。
可以看看这个例子repeat()和minmax()函数实现自适应

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文