grid - 隐式网格

时间:2023-03-09 13:22:12
grid - 隐式网格

当网格项目确认在显式网格之外时就会创建隐性网格,当没有足够的空间或者显式的网格轨道来设置网格项目,此时网格项目就会自动创建隐式网格.

隐式网格可以定义:grid-auto-rowsgrid-auto-columnsgrid-auto-flow属性

1.在这个例子中我们只定义了一行(轨道),所以item1item2的高都是70px

第二行(轨道)自动创建了item3item4空间。grid-auto-rows定义隐式网格中的行(轨道)的大小,因此item3item4的高度是140px

 <view class="grid">
<view class='item1'>1</view>
<view class='item'>2</view>
<view class='item'>3</view>
<view class='item'>4</view>
<!-- <view class='item'>5</view>
<view class='item'>6</view>
<view class='item'>7</view>
<view class='item'>8</view>
<view class='item'>9</view> -->
</view>
 page {
color: #fff;
font-size: 16px;
} .grid {
/* padding: 1%; */
display: grid;
grid-gap: 1px;
line-height: 100px;
grid-template-rows: 70px;
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: 140px;
} .item1 { } .item {
text-align: center;
background-color: #d94a6a;
} .item1 {
text-align: center;
/* line-height: 300px; */
background-color: #1aa034;
}

grid - 隐式网格

2.更改默认流方向(默认row)

grid-auto-flow: column;
 <view class="grid">
<view class='item1'>1</view>
<view class='item'>2</view>
<view class='item'>3</view>
<view class='item'>4</view>
<!-- <view class='item'>5</view>
<view class='item'>6</view>
<view class='item'>7</view>
<view class='item'>8</view>
<view class='item'>9</view> -->
</view>
 page {
color: #fff;
font-size: 16px;
} .grid {
/* padding: 1%; */
display: grid;
grid-gap: 1px;
line-height: 100px;
grid-template-rows: 70px;
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: 140px;
grid-auto-flow: column;
} .item1 { } .item {
text-align: center;
background-color: #d94a6a;
} .item1 {
text-align: center;
/* line-height: 300px; */
background-color: #1aa034;
}

 row

grid - 隐式网格

 column

grid - 隐式网格

3.在这个例子中,我们只定义了前两列的轨道尺寸。item1的尺寸是30pxitem2的尺寸是60px

 page {
color: #fff;
font-size: 16px;
} .grid {
/* padding: 1%; */
display: grid;
grid-gap: 1px;
line-height: 100px;
grid-template-columns: 30px 60px;
grid-auto-flow: column;
grid-auto-columns: 1fr;
} .item1 {
} .item {
text-align: center;
background-color: #d94a6a;
} .item1 {
text-align: center;
/* line-height: 300px; */
background-color: #1aa034;
}

使用grid-auto-flow:column自动创建了隐式网格,用来放置item3item4item5,并且这三个列(轨道)的尺寸由grid-auto-columns来定义

grid - 隐式网格