首页  >  文章  >  web前端  >  无论内容大小如何,如何在 CSS 网格中实现等宽列?

无论内容大小如何,如何在 CSS 网格中实现等宽列?

DDD
DDD原创
2024-11-10 13:49:02988浏览

How to Achieve Equal Width Columns in CSS Grid Regardless of Content Size?

在 CSS 网格中实现等宽列

使用 CSS 网格时,在列之间均匀分布元素可能具有挑战性。虽然 Flexbox 提供了一种简单的方法,但使用 CSS Grid 实现相同的结果需要更多考虑。

原始问题:

“我想在等宽列中的行,无论行中的子级数量如何我尝试使用 CSS 网格,但我无法使其工作。”

答案:

通常建议的重复(3, 1fr)解决方案并不完全准确。正如响应中所述:

“1fr 是关于可用(!)空间的分配。一旦内容变得大于轨道大小,就会中断。”

确保列保留由于它们的宽度相等,建议使用 minmax(0, 1fr) 代替:

<code class="css">grid-template-columns: repeat(3, minmax(0, 1fr));</code>

minmax(0, 1fr) 允许网格轨道小至 0 和大至 1fr。这可确保列保持相等的宽度。但是,如果超出列的宽度,此方法可能会导致内容溢出。

要直观地演示这些方法之间的差异,请考虑以下示例:

<code class="html"><div class="row">
    <div class="item">Item 1</div>
    <div class="item">Item 2</div>
    <div class="item">Item 3</div>
</div></code>

使用重复(3 , 1fr),列将根据可用空间调整其宽度,可能会导致不同的宽度。但是,使用 Repeat(3, minmax(0, 1fr)) 将确保所有三列具有完全相同的宽度,无论内容大小如何。

以上是无论内容大小如何,如何在 CSS 网格中实现等宽列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn