首页 > web前端 > css教程 > 正文

如何在 CSS 网格中实现精确相等的列宽?

Mary-Kate Olsen
发布: 2024-11-06 09:11:03
原创
887 人浏览过

CSS 网格中的精确相等的列宽

在 CSS 网格中创建相等大小的列可能看起来很简单,但它需要特定的方法。虽然 Flexbox 通过其 flex-basis 属性提供了一个简单的解决方案,但 CSS Grid 需要更精确的配置。

挑战:

给定如下 HTML 结构:

<code class="html"><div class="row">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
</div></code>
登录后复制

目标是在相等的列中显示这些元素,无论行内的子元素有多少。

解决方案:

常见的Repeat(3, 1fr) 的方法是不够的,因为 1fr 分配可用空间而不是强制执行严格的列相等。如果内容超出轨道大小,它不会自动调整,可能会导致列宽不均匀。

要实现完全相等的列宽,请使用以下 CSS 属性:

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

解释:

minmax(0, 1fr) 允许网格轨道小至 0,大至 1fr。这确保了列保持相等。但是,请小心,因为如果内容大于列或无法换行,可能会导致溢出。

请考虑以下示例来说明差异:

<code class="css">.equalColumns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.minmaxEqualColumns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}</code>
登录后复制

equalColumns带有重复(3, 1fr):

EqualColumns result

minmaxEqualColumns 带有重复(3, minmax(0, 1fr)):

MinmaxEqualColumns result

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!