使用 CSS 网格布局实现等高行
与 Flexbox 相比,CSS 网格布局使开发人员能够在整个过程中实现等高行网格,消除列之间的差异。
fr 的作用单位
CSS 网格引入了 fr 单位,这是一种灵活的长度单位,可以自动分配网格容器内的可用空间。当应用于所有行时,如以下语法所示:
grid-auto-rows: 1fr;
所有行均假定相同的高度。虽然违反直觉,但这种行为源于网格规范的特定功能。
在网格容器高度无限的情况下,fr 长度会动态调整以适应其内容的高度。例如,在包含不同高度的行的网格中,最高的行将确定最大 1fr 长度,这反过来又设置所有其他行的高度。
Flexbox 的限制
Flexbox 不具备与 CSS Grid 相同的跨多行创建等高行的功能。根据 Flexbox 规范:
In a multi-line flex container, the cross size of each line is the minimum size necessary to contain the flex items on the line.
换句话说,Flex 容器中的每一行都会采用适合其项目所需的高度,从而导致行高不一致。
以上是CSS Grid 布局如何实现等高行而 Flexbox 却不能?的详细内容。更多信息请关注PHP中文网其他相关文章!