“ flex”和“ inline-flex”之间的区别
简短答案:
一个是内联的,另一个基本上像块元素一样响应(但有一些不同)。
更长的答案:
Inline-Flex-Flex的内联版本允许元素及其子元素具有flex属性,同时仍保留在文档/网页的常规流程中。基本上,如果宽度足够小,则可以将两个行内Flex容器放在同一行中,而没有任何多余的样式以允许它们存在于同一行中。这非常类似于“内联块”。
Flex-容器及其子级具有flex属性,但是容器保留该行,因为它是从文档的正常流程中取出的。就文档流而言,它的响应就像一个块元素。没有多余的样式,两个flexbox容器不能在同一行上存在。
您可能遇到的问题
由于您在示例中列出了元素,尽管我猜测是这样,但我想您想使用flex以偶数行的方式显示列出的元素,但继续并排查看这些元素。
您可能会遇到问题的原因是因为flex和inline-flex将默认的“ flex-direction”属性设置为“ row”。这将并排显示子级。将此属性更改为“ column”将允许您的元素堆叠并保留等于其父代宽度的space(width)。
以下是一些示例以展示flex vs inline-flex的工作原理,以及有关inline vs block元素如何工作的快速演示...
display: inline-flex; flex-direction: row;
小提琴
display: flex; flex-direction: row;
小提琴
display: inline-flex; flex-direction: column;
小提琴
display: flex; flex-direction: column;
小提琴
display: inline;
小提琴
display: block
小提琴
另外,一个很棒的参考文档:
Flexbox完整指南-CSS技巧
inline-flex
和flex
:jsfiddle.net/mgr0en3q/1 @ fish-graphics和@astridx的原始提琴