首页 > web前端 > css教程 > 如何在CSS网格中实现等宽列?

如何在CSS网格中实现等宽列?

Linda Hamilton
发布: 2024-11-05 10:22:02
原创
420 人浏览过

How to Achieve Equal-Width Columns in CSS Grid?

CSS 网格中的等宽列

Flexbox 因其在等宽列中显示项目的能力而获得认可。然而,CSS Grid 还提供了灵活的布局选项,这就提出了如何实现相同效果的问题。

提供的 HTML 结构包括一个 row 元素和多个子 item 元素。目标是将这些项目均匀分布在行中,无论存在多少项目。

建议 CSS 网格的常见解决方案是使用重复(3, 1fr)。虽然这部分达到了预期的效果,但当内容超过轨道大小时,它可能会失败。这是因为 1fr 表示可用空间的分布,并不能保证在所有情况下列宽相等。

为了确保完全相等,应使用以下 CSS 代码:

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

minmax(0, 1fr) 将网格轨迹限制为最小尺寸 0 和最大尺寸 1fr。这可以确保即使内容溢出,所有列也将保持相同的宽度。

下面是一个示例来说明重复(3, 1fr)和重复(3, minmax(0, 1fr))之间的区别:

<code class="html"><div class="container">
  <div class="row" style="grid-template-columns: repeat(3, 1fr)">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item overflow">Very long text that overflows the column</div>
  </div>

  <div class="row" style="grid-template-columns: repeat(3, minmax(0, 1fr))">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item overflow">Very long text that overflows the column</div>
  </div>
</div></code>
登录后复制

使用repeat(3, 1fr),溢出的项目将脱离其列。相比之下,repeat(3, minmax(0, 1fr)) 确保所有列保持相等,溢出内容在下面可见。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板