What's the difference between align-content and align-items?
有人可以告诉我
flex-box的
这是
但是
这是带有
请注意第一行中的第三个框和所有其他框更改为在该行中垂直居中。
以下是一些可使用的Codepen链接:
http://codepen.io/asim-coder/pen/MKQWbb
http://codepen.io/asim-coder/pen/WrMNWR
这是一支超酷的笔,可以显示并让您使用flexbox中的几乎所有内容。
我发现示例http://flexboxfroggy.com/非常有用。
这将花费您10-20分钟,在21级时,您会找到问题的答案。它提到:
align-content determines the spacing between lines, while align-items
determines how the items as a whole are aligned within the container.
When there is only one line, align-content has no effect
首先,
现在,
检查这个小提琴:https://jsfiddle.net/htym5zkn/8/
我也有同样的困惑。在根据上述许多答案进行了一些修补之后,我终于可以看到不同之处。以我的拙见,最好用满足以下两个条件的flex容器来证明这种区别:
条件1帮助我了解
条件2帮助我可视化
这是一个代码示例。原材料来自Wes Bos的CSS Grid教程(21. Flexbox与CSS Grid)。
- HTML示例:
1 2 3 4 5 6 7 8 9 | Short Longerrrrrrrrrrrrrr ?? This is Many Words Lorem, ipsum. 10 Snickers Wes Is Cool Short |
- CSS示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | .flex-container { display: flex; /*dictates a min-height*/ min-height: 60rem; flex-flow: row wrap; border: 5px solid white; justify-content: center; align-items: center; align-content: flex-start; } #tall { /*intentionally made tall*/ min-height: 30rem; } .item { margin: 10px; max-height: 10rem; } |
示例1:让我们缩小视口,以使内容与容器齐平。这是
另外,请注意第二行-查看项目如何在它们之间居中对齐。
示例2:随着我们扩大视口,我们不再有足够的内容来填充整个容器。现在我们开始看到
这些示例基于flexbox,但是相同的原理也适用于CSS网格。希望这可以帮助 :)
好吧,我已经在浏览器中检查了它们。
但是,如果将它们包装起来,则每行中都有多行和多个项目。并且,如果每行的所有项目都具有相同的高度(对于行方向),则该行的高度将等于这些项目的高度,并且通过更改
因此,如果要在包裹物品时使它们受
对齐内容
(段落的思考线垂直展开,朝顶部堆叠,朝底部堆叠。这在
对齐项目
(如果段落中的某行包含一些常规文本和一些较高的文本(如数学方程式,请考虑如何对齐)。在这种情况下,它将是一行中每种文本的底部,顶部还是中心对齐?)
根据我从这里了解到的:
当您使用align-item或justify-item时,您正在分别沿着列轴或行轴调整"网格项内的内容。
但:
如果使用align-content或justify-content,则将沿列轴或行轴设置网格位置。当您在较大的容器中有网格并且宽度或高度不灵活(使用px)时,会发生这种情况。
主要区别在于元素的高度不同时!
然后您可以看到它们在行中如何居中结束开始