display: grid 將元素設置為網格容器。grid-template-columns 和 grid-template-rows:設置網格的列和行。
px, fr(fraction, 分數單位), auto, %。grid-template-columns: 1fr 2fr;(第一列占據 1 份空間,第二列占據 2 份空間)。grid-template-areas:通過命名區域來簡化網格項目的佈局。
grid-template-areas:
"header header header"
"sidebar content content"
"footer footer footer";
grid-column 和 grid-row:控制網格項目橫跨的行或列。
grid-column: 1 / 3;(項目橫跨第 1 列到第 3 列)。grid-area:將網格項目放置在特定的命名區域中,與 grid-template-areas 搭配使用。
grid-area: header; 將項目放置在 header 區域。grid-gap、column-gap、row-gap:設置網格項目之間的間距。
grid-gap: 10px; 設置行和列之間的間距為 10px。display: grid:定義元素為網格容器。grid-template-columns:定義列的數量及寬度。grid-template-rows:定義行的數量及高度。grid-template-areas:為網格項目定義命名區域。justify-items:設置網格項目在水平方向的對齊方式。align-items:設置網格項目在垂直方向的對齊方式。grid-column-start、grid-column-end:控制網格項目從哪一列開始,到哪一列結束。grid-row-start、grid-row-end:控制網格項目從哪一行開始,到哪一行結束。grid-area:指定網格項目放置在哪一個區域。HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Grid Layout Example</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<div class="header">Header</div>
<div class="sidebar">Sidebar</div>
<div class="content">Content</div>
<div class="footer">Footer</div>
</div>
</body>
</html>
CSS:
.container {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
grid-template-rows: auto 200px auto;
grid-template-areas:
"header header header"
"sidebar content content"
"footer footer footer";
grid-gap: 10px;
}
.header {
grid-area: header;
background-color: lightblue;
text-align: center;
padding: 20px;
}
.sidebar {
grid-area: sidebar;
background-color: lightgreen;
padding: 20px;
}
.content {
grid-area: content;
background-color: lightcoral;
padding: 20px;
}
.footer {
grid-area: footer;
background-color: lightgray;
text-align: center;
padding: 20px;
}
網頁呈下圖: