CSS grid-row-start 属性通过指定行、跨度或依赖自动放置来定义网格行中网格项的起始位置。它定义网格区域的内联起始边缘。
auto: 它自动确定网格布局中网格项的位置。默认范围为 1。
<custom-ident>: 如果有一行标有"<custom-ident>-start"或"<custom-ident>-end",则网格项将为沿着该线定位。
<integer> && <custom-ident>? − 如果给出了名称,则仅考虑具有该名称的行。如果具有该名称的线不足,则所有网格线都会按具有该名称的方式进行处理,以确定正确的位置。 <integer> 值为 0 无效。
span && [ <integer> || <custom-ident> ]: 当名称被指定为自定义标识时,仅考虑具有该名称的行。如果具有该名称的行不足,我们会考虑网格相关侧的所有网格线都具有该名称计数目的。如果未指定 <integer>,则默认值为 1。不允许使用负数或 0。
使用命名网格区域时,会创建隐式线。网格行开始:foo;指定命名区域的起始边缘,除非通过 foo-start 等行明确指定。
适用范围
网格项和绝对定位的框,其包含块是网格容器。
DOM 语法
object.style.gridRowStart = "auto|<custom-ident>|<integer> && <custom-ident>?|span && [ <integer> || <custom-ident> ]";
CSS grid-row-start: auto
以下示例演示了 grid- row-start:auto 属性自动按照网格项在代码中出现的顺序放置网格项 -
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
color: white;
text-align: center;
background-color: lightgreen;
}
.grid-container > div {
background-color: red;
margin: 5px;
padding: 5px;
}
.grid-item2 {
grid-row-start: auto;
}
</style>
</head>
<body>
<div class="grid-container">
<div>Grid item 1</div>
<div class="grid-item2">Grid item 2</div>
<div>Grid item 3</div>
<div>Grid item 4</div>
<div>Grid item 5</div>
<div>Grid item 6</div>
</div>
</body>
</html>
CSS grid-row-start: <custom-ident>
网格-模板行:[a] 50px [b] 50px [c] 50px;属性设置名为 a、b 和 c 的三行。
以下示例演示 grid-row-start:c 属性指定第一个网格项从第三行开始 -
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-rows: [a] 50px [b] 50px [c] 50px;
grid-template-columns: auto auto;
background-color: lightgreen;
padding: 5px;
}
.grid-container > div {
background-color: red;
border: 2px solid blue;
padding: 10px;
text-align: center;
}
.grid-item {
grid-row-start: c;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="grid-item">Grid Item 1</div>
<div>Grid Item 2</div>
<div>Grid Item 3</div>
<div>Grid Item 4</div>
<div>Grid Item 5</div>
</div>
</body>
</html>
CSS grid-row-start: <integer> && <custom-ident>?
grid-template-rows:[a] 50px [b] 50px [a] 50px [a];属性创建名为 a 和 b 的三行。
grid-row-start: 2 a;属性,表示第二个网格项从第二个"a"命名行开始,这是第三个网格线。
下图演示了带有行的列布局:
这是一个示例 -
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-rows: [a] 50px [b] 50px [a] 50px [a];
grid-template-columns: auto auto;
background-color: lightgreen;
padding: 5px;
}
.grid-container > div {
background-color: red;
border: 2px solid blue;
padding: 10px;
text-align: center;
}
.grid-item {
grid-row-start: 2 a; /* The second `a` named line, which is the third grid line.*/
}
</style>
</head>
<body>
<div class="grid-container">
<div>Grid Item 1</div>
<div class="grid-item">Grid Item 2</div>
<div>Grid Item 3</div>
<div>Grid Item 4</div>
<div>Grid Item 5</div>
</div>
</body>
</html>
CSS grid-row-start: span 值
以下示例演示了 grid-row-start:2 属性指定第二个网格项跨越两行 -
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
width: 360px;
color: white;
text-align: center;
background-color: lightgreen;
}
.grid-container > div {
background-color: red;
margin: 5px;
padding: 5px;
}
.grid-item2 {
grid-row-start: span 2;
}
</style>
</head>
<body>
<div class="grid-container">
<div>Grid item 1</div>
<div class="grid-item2">Grid item 2</div>
<div>Grid item 3</div>
<div>Grid item 4</div>
<div>Grid item 5</div>
</div>
</body>
</html>