这 grid-template-columnsproperty只是CSS Grid的一小部分。 要特别了解这个属性,您首先需要了解 CSS 网格是什么 。
为了让您加快速度,网格布局基本上提供了一个基于网格的布局系统。 要设计页面或模板,您可以使用行和列,而不是使用诸如 float: right;.在本文中,我们将探讨 grid-template-columns在 CSS 中,了解它是什么以及如何最好地使用它。 让我们开始吧!
简单的说, grid-template-columns是一个属性,如何修复“未找到对话”ChatGPT 错误指定网格布局中的列数以及所述列的宽度。 该属性的值由空格分隔,每个值指定其各自列的大小:
grid-template-columns: auto auto auto; grid-template-columns: auto auto; grid-template-columns: 20% 20% 20% 20%;
上面的行是如何使用的基本演示 grid-template-columns。 他们三个 auto分隔的值表示具有相同宽度的三列。 以下两个也同样适用 auto价值观。 如何解决“此帐户不允许使用 WhatsApp”的问题至于四个 20%值时,列的宽度将为父元素的 20%。
语法非常简单,但还有更多值,而不仅仅是百分比和 auto。 考虑以下代码:
grid-template-columns: none|auto|max-content|min-content|length|initial|inherit;
由管道分隔的每个值都是一个可能的值,您可以将其用于 grid-template-columns财产。 每个都有其自己的目的,我们将在本文后面讨论。
了解此 属性是可动画的 也很重要。 grid-template-columns可用于动画和过渡,这意味着列可以逐渐从一个值更改为另一个值:
Animation of the grid-template-columns Property
The animation will change the number of columns from 1 to 3 then back to 1 and finally the original 4. on repeat
12345678
这只是一个简单的演示,如何在 Google 地图(桌面版和移动版)中测量距离展示了如何将此属性用于动画和过渡。
让我们回到下面这一行:
grid-template-columns: none|auto|max-content|min-content|length|initial|inherit;
我们将研究每个值,以便您了解布局中的列发生了什么。 首先,我们会得到 initial和 inherit因为它们对于这个特定的属性来说并不是那么有趣。 initial只需设置 grid-template-columns属性为其默认值,在本例中只是 none. 这 inheritvalue 基本上继承了该属性在其父元素上具有的任何值。
none是在需要时生成列的默认值,根据容器大小和列内内容的大小评估宽度。
max-content根据列中最大的项目调整列宽。 min-content根据列中最小的项目调整列宽。 length将给定值设置为列的宽度。
使用下面的代码作为我的简单 HTML,如何修复 Windows 中的“Spotify 现在无法播放此内容”错误我将针对属性的每个值调整 CSS:
The grid-template-columns property
<div class="item1">FirstSecondThirdFourthFifthSixth
到那个时刻 none,没有明确的网格。 基本上,列的大小要么采用全宽度,要么由另一个属性确定, grid-auto-columns。 如何在 Android 和 iPhone 上检查您的 Google 地图时间线下面的代码显示了 none属性及其如何操作输出:
body { background-color: white; padding: 10vw; } #test-div { height: auto; display: grid; border-radius: 1vw; gap: 1vw; background-color: black; padding: 1vw; grid-template-columns: none; } #test-div div { background-color: white; text-align: center; padding: 20px 0; font-size: 30px; border-radius: 0.5vw; }
下面是输出:
当你有 auto作为属性的值,它只是将整个宽度除以您拥有的列数。 每个都有相同的宽度。 在下面的代码中,请注意 grid-template-columns财产用途 auto三次。 因此,您将拥有相同宽度的三列:
body { background-color: white; padding: 10vw; } #test-div { height: auto; display: grid; border-radius: 1vw; gap: 1vw; background-color: black; padding: 1vw; grid-template-columns: auto auto auto; } #test-div div { background-color: white; text-align: center; padding: 20px 0; font-size: 30px; border-radius: 0.5vw; }
输出如下:
随着 auto价值,你可以深入一点。 如果您对该财产有其他价值,例如, grid-template-columns: auto 3px auto 50px;,UI 将有四列。 第一个将与第三个具有相同的宽度,而第二个和第四个将具有唯一指定的宽度。 现在,这应该告诉你 auto获取任何可用空间并将其平均分配给具有所述值的任何列。
max-content需要一点 HTML 调整,因为它将采用最大内容的宽度。 下面的代码显示了六个不同的 div 以及一些随机内容。 与前面的示例一样,您在 grid-template-columns属性将决定您获得的列数:
The grid-template-columns property
FirstSecondblah blah blahFourthFifthSixth
在这段代码中, grid-template-columns: max-content max-content max-content;结果分为三列。 话虽这么说,即使它们具有相同的值,列的宽度也将由 div 中内容的跨度决定。 因此,里面的内容决定了div的宽度:
body { background-color: white; padding: 10vw; } #test-div { height: auto; display: grid; border-radius: 1vw; gap: 1vw; background-color: black; padding: 1vw; grid-template-columns: max-content max-content max-content; } #test-div div { background-color: white; text-align: center; padding: 20px 0; font-size: 30px; border-radius: 0.5vw; }
输出如下:
请注意 blah blah blah是最大的内容,因此,它决定了三列的宽度。 同样的概念也适用于 min-content价值。 然而,问题是你会遇到一些溢出。
length并不意味着字面意思,长度。趣知笔记 - 分享有价值的教程! length基本上代表 CSS 中给出的实际值。 其中包括您可能想要使用的任何和所有 CSS 单元; 它们都适用,无论您是否使用 vw, rem, em, fr等。定义的每个列值都将反映在您的 UI 中:
body { background-color: white; padding: 10vw; } #test-div { height: auto; display: grid; border-radius: 1vw; gap: 1vw; background-color: black; padding: 1vw; grid-template-columns: 10vw 25vw 40vw; } #test-div div { background-color: white; text-align: center; padding: 20px 0; font-size: 30px; border-radius: 0.5vw; }
上面的代码将为第一列提供宽度 10vw,第二个宽度为 25vw,第三个宽度为 40vw。 输出如下所示:
您可以一起或统一使用这些值。 作为设计师,你拥有自由。 慢慢来,尝试一下这些价值观,并记住享受其中的乐趣。
就像我在本文开头所说的那样, grid-template-columns这只是整个网格系统的一个方面。 在本文中,我们学习了如何使用 none, auto, max-content, min-content, 和 length价值观。
如果这让您感到兴奋,那么您可以深入了解该软件附带的所有内容 display: gridCSS 中的行。 可能性是无止境。 快乐编码!