网格 CSS 重复函数创建超过指定的列
Grid CSS repeat function creating more than specified columns
所以我正在练习 CSS 网格并且正在学习“repeat()”函数。有问题的代码是:grid-template-columns: repeat(2, 20px 50px)
在解释中说“此代码将创建四列,其中第一列和第三列的宽度为 20 像素,第二列和第四列的宽度为 50 像素。”但我认为它只会创建 2 列,因为我们在函数中只指定了“2”?
一些 CSS 网格教程介绍了 repeat()
作为编写更简洁 CSS 规则的快速方法。因此,例如,而不是键入:
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
使用repeat()
函数:
grid-template-columns: repeat(5, 1fr);
那么发生了什么......在repeat()
函数中,第一个值定义了重复次数;第二个值定义将重复的内容。
让我们从你的例子逆向计算:
grid-template-columns: repeat(2, 20px 50px);
您有一个 20px 50px
结构(两列),并且您已将其设置为重复 2
次。这是一个 two-column 结构 两次 ,因此 4。重复 3 次将是 6 列,4 次将是 8 列,依此类推。
物有所值。这些声明是相同的:
grid-template-columns: repeat(2, 20px 50px);
grid-template-columns: 20px 50px 20px 50px;
repeat(numberOfRepetitions, columnOrRowDefinitions)
函数有两个参数:
numberOfRepetitions
告诉浏览器您希望第二个参数重复的频率。
columnOrRowDefinitions
告诉浏览器要重复哪些列或行定义。
让我们看看您提供的参数:
numberOfRepetitions
: 2 // 你要求重复两次。
columnOrRowDefinitions
: 20px 50px
// 那已经是两个 rows/columns.
所以我正在练习 CSS 网格并且正在学习“repeat()”函数。有问题的代码是:grid-template-columns: repeat(2, 20px 50px)
在解释中说“此代码将创建四列,其中第一列和第三列的宽度为 20 像素,第二列和第四列的宽度为 50 像素。”但我认为它只会创建 2 列,因为我们在函数中只指定了“2”?
一些 CSS 网格教程介绍了 repeat()
作为编写更简洁 CSS 规则的快速方法。因此,例如,而不是键入:
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
使用repeat()
函数:
grid-template-columns: repeat(5, 1fr);
那么发生了什么......在repeat()
函数中,第一个值定义了重复次数;第二个值定义将重复的内容。
让我们从你的例子逆向计算:
grid-template-columns: repeat(2, 20px 50px);
您有一个 20px 50px
结构(两列),并且您已将其设置为重复 2
次。这是一个 two-column 结构 两次 ,因此 4。重复 3 次将是 6 列,4 次将是 8 列,依此类推。
物有所值。这些声明是相同的:
grid-template-columns: repeat(2, 20px 50px);
grid-template-columns: 20px 50px 20px 50px;
repeat(numberOfRepetitions, columnOrRowDefinitions)
函数有两个参数:
numberOfRepetitions
告诉浏览器您希望第二个参数重复的频率。columnOrRowDefinitions
告诉浏览器要重复哪些列或行定义。
让我们看看您提供的参数:
numberOfRepetitions
: 2 // 你要求重复两次。
columnOrRowDefinitions
: 20px 50px
// 那已经是两个 rows/columns.