1. 程式人生 > 其它 >CSS Grid佈局

CSS Grid佈局

Grid區域性,當該容器的元素,需要成行成列的排列時,適合使用Grid

有兩種設定:

.grid-container {
  display: grid;
}

.grid-container {
  display: inline-grid;
}

 gap = row-gap+column-gap

一、在外部容器上面,定義行和列

.grid-container {
display: grid;
grid-template-columns: auto auto auto;
grid-template-rows: 80px 200px;
gap: 10px;
background-color: #2196F3;
padding: 10px;
}

 .grid-container {
  display: grid;
  grid-template-columns: 80px 200px auto 40px;
}

 但所有列的寬度之和不足整個Grid,可以決定每一列的位置

.grid-container {
display: grid;
justify-content: start;
grid-template-columns: 50px 50px 50px; /*Make the grid smaller than the container*/
gap: 10px;
background-color: #2196F3;
padding: 10px;
}

 所有行的高度不足整個Grid的高度,可以排列行的位置

.grid-container {
display: grid;
height: 400px;
align-content: space-between;
grid-template-columns: auto auto auto;
gap: 10px;
background-color: #2196F3;
padding: 10px;
}

 二、在內部元素上面,定義位置

grid-column: start column / end column +1

grid-row: start row / end row + 1

注意,可以設定span,推斷出終止的行號和列號

grid-column: start column /span count

grid-row: start row / span count

簡略寫法:

grid-area: start column / end column / start row / end row

還有一種,結合命名,使用

.item1 {
grid-area: myArea;
}

.grid-container {
display: grid;
grid-template-areas: 'myArea myArea . . .' 'myArea myArea . . .';
gap: 10px;
background-color: #2196F3;
padding: 10px;
}