Guy*_*ron 23 html css css3 flexbox
我有一个固定宽度的容器,其中几个可变宽度元素必须出现在一行中,必要时可以将其溢出到其他行中.
但是,每个元素的开头必须与它上面的元素对齐,所以在ASCII艺术中它看起来像是这样(比如,填充1):
/----------------------------------\
| |
| # One # Two # Three # Four |
| # Five # Six |
| |
\----------------------------------/
Run Code Online (Sandbox Code Playgroud)
换一种说法:
我试图使用flexbox而没有成功.
这是我到目前为止最好的,flex-wrap: wrap用于容器和flex-grow: 1元素.
问题是最后一行填充到边缘.
justify-content: flex-start; // this does nothing
Run Code Online (Sandbox Code Playgroud)
如果我拿走flow-grow: 1那么元素不会平均分配.我也尝试摆弄last-of-type元素,但这还不够.
这是否可能flexbox,或者我是以错误的方式进行的?
Guy*_*ron 16
在尝试了这里的建议(谢谢!)并长时间在网上搜索之后,我得出结论,这对于flexbox来说根本不可能.无论如何,我的意思是其他人已经达成了这个结论,而我却顽固地试图让它继续工作,直到最后放弃并接受聪明人的智慧.
我遇到的一些链接可能会更好地解释它,或者需求的不同方面,所以我将它们发布在这里以供...后代使用.
http://fourkitchens.com/blog/article/responsive-multi-column-lists-flexbox
Cap*_*apK 11
使用 flexbox 没有简单的方法可以做到这一点。但是如果你愿意牺牲 IE 那么你可以用 css 来做grid,把它添加到容器中:
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
Run Code Online (Sandbox Code Playgroud)
如果你想在元素之间有一些空间然后添加
grid-gap: 10px;
Run Code Online (Sandbox Code Playgroud)
我知道我来晚了,但是过去一个小时左右,我一直在寻找解决方案,我想我已经想通了。将空div放在容器的末端,然后设置flex-grow: 1为容器,仅此而已。还要justify-content: space-between放在容器上,不要flex-grow在其他物品上使用。这将始终使最后一行左对齐,因为该div将延伸通过所有剩余空间。
但是,这样做的问题是,它总是使最后一行左对齐-即使它是唯一一行,这也使该解决方案对我不可用,但对于可能期望多于一行项目的人来说,它可能是可用的。
| 归档时间: |
|
| 查看次数: |
15996 次 |
| 最近记录: |