【发布时间】:2022-04-26 16:48:33
【问题描述】:
我确定这一定是重复的,但我找不到任何相关的答案,因为很多人将 flexbox 元素称为“列表”,而实际上他们并没有使用 <ul> 或 <ol> HTML 元素,并且正在制作等效于 inline-block div 元素。
我有一个无序列表,我需要使用 Flexbox 将其显示为两列。根据今天的阅读,我管理了两列,但是项目的索引顺序是从左到右,而不是从上到下:
ol { display:flex; flex-wrap:wrap; flex-direction:row; }
ol li { flex:1 1 auto; width:40%; }
<ol>
<li>Item A</li>
<li>Item B</li>
<li>Item C</li>
<li>Item D</li>
<li>Item E</li>
<li>Item F</li>
<li>Item G</li>
<li>Item H</li>
</ol>
我需要的输出是:
1. Item A 5. Item E
2. Item B 6. Item F
3. Item C 7. Item G ... etc
我尝试将flex-direction:row 替换为column,但它只显示了一个列表。
【问题讨论】:
-
你需要给一个固定的高度,..
-
@ArupRakshit 就是这样!如果我在列表上指定 5em 高度,我实际上也不需要设置列表项宽度。谢谢!也许您应该发布一个正确的答案并获得应得的代表?!?
-
具有讽刺意味的是,当在两列中时,可读性会大大降低。在某种程度上我已经关闭了编号,在这种情况下,弯曲方向不再重要......(!)
-
我觉得如果应用 flexbox 看起来很难,那么 grid 可能会有所帮助.. :)