添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
本文探讨了在Flex布局中,当最后一行元素不满时如何处理以达到期望的效果。作者分享了一种利用空白元素填充的方法,通过创建与元素宽度相同、高度为1的空div来解决这个问题。这种方法简单易操作,且不需要预先知道元素数量或宽度占比。文章还提到了其他解决方案的局限性,如需要知道元素个数、大量CSS修改或放弃`justify-content:space-between`等。 摘要由CSDN通过智能技术生成

如图(借用别人的)所时,flex-wrap: wrap; justify-content: space-between; 时造成的问题;

但是我们期望的是这个样,如下图所示

我在本站上也看到了很多的方法,但使用时限制很多,并不能完满解决我们的问题;他人的解决方案存在的问题或限制:

  1. 有的必须知道每行的元素个数或每个元素width 占比(一个意思)
  2. 有的大量的css 修改作
  3. 有的放弃 justify-content: space-between;

以上方案解决不了我的问题,因为我的元素width 一定,一行几个不确定;

我的方案,在最后一行 用空白线 填写法 ,没错就是 width 与我元素一样的,height为的空白线 ----------------------,线的条数可以为一行的最大元素个数,这个几乎无破绽

[1,2,3,4,5,6,7,8,9,10].map(item=>{
   return <div key={`empty_${item}`} style={{
     display: 'inline-block',
     width: 240,
     height: 1
   }}></div>

ok, 到此完美解决问题,代码量小,简单,易操作

问题来源 问题是这样的,我有一个list,期望做成一个flexwrap布局。 每个item项有一个最小宽度,随着窗口的拉伸,item宽度会增加,并且占满容器空间。 当窗口宽度增加到一定程度,会触发wrap布局,每一行会多排列一个item。 <div class="app-list"> <div class="app-block"></div>