โมดูลเค้าโครงตาราง CSS นำเสนอระบบเค้าโครงตามตารางพร้อมแถวและคอลัมน์ ทำให้การออกแบบหน้าเว็บง่ายขึ้นโดยไม่ต้องใช้การลอยและการวางตำแหน่ง:
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.item1 { grid-area: header; }
.item2 { grid-area: menu; }
.item3 { grid-area: main; }
.item4 { grid-area: right; }
.item5 { grid-area: footer; }
.grid-container {
display: grid;
grid-template-areas:
'header header header header header header'
'menu main main main right right'
'menu footer footer footer footer footer';
gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
</style>
</head>
<body>
<h1>Grid Layout</h1>
<p>The CSS Grid Layout Module offers a grid-based layout system, with rows and columns, making it easier to design web pages without having to use floats and positioning:</p>
<div class="grid-container">
<div class="item1">Header</div>
<div class="item2">Menu</div>
<div class="item3">Main</div>
<div class="item4">Right</div>
<div class="item5">Footer</div>
</div>
</body>
</html>
เค้าโครงตารางต้องมีองค์ประกอบหลักที่มีคุณสมบัติ display ตั้งค่าเป็น grid
องค์ประกอบลูกโดยตรงของคอนเทนเนอร์กริดจะกลายเป็นรายการกริดโดยอัตโนมัติ
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px;
font-size: 30px;
}
.item1 {
grid-row: 1;
grid-column: 1;
}
.item2 {
grid-row: 1;
grid-column: 2;
}
.item3 {
grid-row: 1;
grid-column: 3;
}
.item4 {
grid-row: 2;
grid-column: 1;
}
.item5 {
grid-row: 2;
grid-column: 2;
}
.item6 {
grid-row: 2;
grid-column: 3;
}
.item7 {
grid-row: 3;
grid-column: 1 / span 3;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="grid-item item1">1</div>
<div class="grid-item item2">2</div>
<div class="grid-item item3">3</div>
<div class="grid-item item4">4</div>
<div class="grid-item item5">5</div>
<div class="grid-item item6">6</div>
<div class="grid-item item7">7</div>
</div>
<p>A Grid Layout must have a parent element with the <em>display</em> property set to <em>grid</em>.</p>
<p>Direct child elements(s) of the grid container automatically becomes grid items.</p>
</body>
</html>
โมดูลเค้าโครงตาราง CSS นำเสนอระบบเค้าโครงตามตารางพร้อมแถวและคอลัมน์ ทำให้การออกแบบหน้าเว็บง่ายขึ้นโดยไม่ต้องใช้การลอยและการวางตำแหน่ง
คุณสมบัติกริดได้รับการสนับสนุนในเบราว์เซอร์สมัยใหม่ทั้งหมด
57.0 | 16.0 | 52.0 | 10 | 44 |
เค้าโครงตารางประกอบด้วยองค์ประกอบหลัก โดยมีองค์ประกอบย่อยตั้งแต่หนึ่งรายการขึ้นไป
<div
class="grid-container">
<div class="grid-item">1</div>
<div
class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div
class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div
class="grid-item">8</div>
<div class="grid-item">9</div>
</div>
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>Grid Elements</h1>
<p>A Grid Layout must have a parent element with the <em>display</em> property set to <em>grid</em> or <em>inline-grid</em>.</p>
<p>Direct child element(s) of the grid container automatically becomes grid items.</p>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>
</body>
</html>
องค์ประกอบ HTML กลายเป็นภาชนะตารางเมื่อคุณสมบัติ display
ถูกตั้งค่าเป็น grid
หรือ inline-grid
.grid-container {
display: grid;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>display: grid</h1>
<p>Use display: grid; to make a block-level grid container:</p>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>
</body>
</html>
.grid-container {
display: inline-grid;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: inline-grid;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>display: inline-grid</h1>
<p>Use display: inline-grid; to make an inline grid container:</p>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>
</body>
</html>
ลูกโดยตรงทั้งหมดของคอนเทนเนอร์กริดจะกลายเป็น รายการกริด โดยอัตโนมัติ
เส้นแนวตั้งของรายการตารางเรียกว่า คอลัมน์
เส้นแนวนอนของรายการตารางเรียกว่า แถว
ช่องว่างระหว่างแต่ละคอลัมน์/แถวเรียกว่า ช่องว่าง
คุณสามารถปรับขนาดช่องว่างได้โดยใช้คุณสมบัติอย่างใดอย่างหนึ่งต่อไปนี้:
column-gap
row-gap
gap
column-gap
คุณสมบัติกำหนดช่องว่างระหว่างคอลัมน์:
.grid-container {
display: grid;
column-gap: 50px;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
column-gap: 50px;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>The column-gap Property</h1>
<p>Use the <em>column-gap</em> property to adjust the space between the columns:</p>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>
</body>
</html>
row-gap
คุณสมบัติกำหนดช่องว่างระหว่างแถว:
.grid-container {
display: grid;
row-gap: 50px;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
row-gap: 50px;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>The row-gap Property</h1>
<p>Use the <em>row-gap</em> property to adjust the space between the rows:</p>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>
</body>
</html>
gap
คุณสมบัติเป็นคุณสมบัติชวเลขสำหรับ row-gap
และ คุณสมบัติ column-gap
:
.grid-container {
display: grid;
gap: 50px 100px;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
gap: 50px 100px;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>The gap Property</h1>
<p>Use the <em>gap</em> shorthand property to adjust the space between the columns and rows.</p>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>
</body>
</html>
คุณสมบัติ gap
ยังสามารถใช้เพื่อตั้งค่าทั้งช่องว่างของแถวและ ช่องว่างของคอลัมน์ในหนึ่งค่า:
.grid-container {
display: grid;
gap: 50px;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
gap: 50px;
grid-template-columns: auto auto auto;
background-color: #2196F3;
padding: 10px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<h1>The gap Property:</h1>
<p>Use the <em>gap</em> shorthand property to adjust the space between the columns and rows:</p>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
<div class="grid-item">9</div>
</div>
</body>
</html>
เส้นระหว่างคอลัมน์เรียกว่า เส้นคอลัมน์
เส้นระหว่างแถวเรียกว่า เส้นแถว
อ้างถึงหมายเลขบรรทัดเมื่อวางรายการกริดในคอนเทนเนอร์กริด:
วางรายการตารางที่คอลัมน์บรรทัดที่ 1 และปล่อยให้สิ้นสุดที่บรรทัดคอลัมน์ 3:
.item1 {
grid-column-start: 1;
grid-column-end: 3;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
.item1 {
grid-column-start: 1;
grid-column-end: 3;
}
</style>
</head>
<body>
<h1>Grid Lines</h1>
<div class="grid-container">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
<div class="item5">5</div>
<div class="item6">6</div>
<div class="item7">7</div>
<div class="item8">8</div>
</div>
<p>You can refer to line numbers when placing grid items.</p>
</body>
</html>
วางรายการตารางที่แถวบรรทัดที่ 1 และปล่อยให้สิ้นสุดที่แถวบรรทัดที่ 3:
.item1 {
grid-row-start: 1;
grid-row-end: 3;
}
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
.item1 {
grid-row-start: 1;
grid-row-end: 3;
}
</style>
</head>
<body>
<h1>Grid Lines</h1>
<div class="grid-container">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
<div class="item5">5</div>
<div class="item6">6</div>
<div class="item7">7</div>
<div class="item8">8</div>
</div>
<p>You can refer to line numbers when placing grid items.</p>
</body>
</html>
ระบุช่องว่างระหว่างคอลัมน์
คุณสมบัติชวเลขสำหรับคุณสมบัติ row-gap และ column-gap
คุณสมบัติชวเลขสำหรับ grid-template-rows ตารางเทมเพลตคอลัมน์, ตารางเทมเพลตพื้นที่, ตารางอัตโนมัติแถว, grid-auto-columns และคุณสมบัติ grid-auto-flow
ไม่ว่าจะระบุชื่อสำหรับรายการกริด หรือคุณสมบัตินี้เป็นคุณสมบัติชวเลขสำหรับ grid-row-start, grid-column-start, grid-row -end และ grid-column-end คุณสมบัติ
ระบุขนาดคอลัมน์เริ่มต้น
ระบุวิธีการแทรกรายการที่วางอัตโนมัติในตาราง
ระบุขนาดแถวเริ่มต้น
คุณสมบัติชวเลขสำหรับคุณสมบัติ grid-column-start และ grid-column-end
ระบุตำแหน่งที่จะสิ้นสุดรายการกริด
ระบุขนาดของช่องว่างระหว่างคอลัมน์
ระบุตำแหน่งที่จะเริ่มรายการกริด
คุณสมบัติชวเลขสำหรับคุณสมบัติ grid-row-gap และ grid-column-gap
คุณสมบัติชวเลขสำหรับคุณสมบัติ grid-row-start และ grid-row-end
ระบุตำแหน่งที่จะสิ้นสุดรายการกริด
ระบุขนาดของช่องว่างระหว่างแถว
ระบุตำแหน่งที่จะเริ่มรายการกริด
คุณสมบัติชวเลขสำหรับ grid-template-rows, grid-template-columns และคุณสมบัติ พื้นที่กริด
ระบุวิธีการแสดงคอลัมน์และแถว โดยใช้รายการตารางที่มีชื่อ
ระบุขนาดของคอลัมน์ และจำนวนคอลัมน์ในเค้าโครงตาราง
ระบุขนาดของแถวในรูปแบบกริด
ระบุช่องว่างระหว่างแถวกริด