สร้างแกลเลอรีและเลย์เอาต์ของหน้าเว็บที่สมบูรณ์ด้วยคอลัมน์ แถว และพื้นที่ที่ตั้งชื่อได้ของ CSS Grid
เปิดบทเรียนนี้ใน KodokonFlexbox จัดตำแหน่งไปตามแกนเดียว ส่วน Grid ควบคุมทั้งสองแกนพร้อมกัน ทันทีที่แบบร่างของคุณดูเหมือนตาราง แกลเลอรีรูปภาพ แดชบอร์ด หน้าเต็มพร้อมส่วนหัว แถบข้าง และส่วนท้าย Grid คือเครื่องมือที่เหมาะสม container กำหนดโครงสร้างเป็นคอลัมน์และแถว และลูก ๆ จะวางตัวเองโดยอัตโนมัติหรือตรงตำแหน่งที่คุณเลือกพอดี
.gallery {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
}หน่วย fr (fraction หรือ เศษส่วน) แบ่งพื้นที่ที่มีอยู่ 1fr 2fr สร้างสองคอลัมน์โดยคอลัมน์ที่สองกว้างเป็นสองเท่า ต่างจากเปอร์เซ็นต์ตรงที่ fr คำนวณ gap ให้เองโดยที่คุณไม่ต้องคำนวณอะไรเลย หากต้องการเน้นอีลิเมนต์ ให้มันขยายครอบคลุมหลายแทร็กด้วย grid-column และ grid-row
.featured {
grid-column: span 2;
grid-row: span 2;
}สำหรับหน้าเต็ม grid-template-areas ช่วยให้คุณ วาดแบบร่างลงใน CSS ได้โดยตรง แต่ละสตริงแทนหนึ่งแถวของกริด แต่ละคำแทนพื้นที่ที่ตั้งชื่อไว้ จากนั้นลูกจะวางตัวเองด้วย grid-area ผลลัพธ์อ่านได้เหมือนพิมพ์เขียวของสถาปนิก มันคือวิธีที่อ่านง่ายที่สุดสำหรับการจัดเลย์เอาต์ของหน้า
.page {
display: grid;
grid-template-columns: 240px 1fr;
grid-template-rows: auto 1fr auto;
grid-template-areas:
"header header"
"sidebar main"
"footer footer";
min-height: 100vh;
}
.site-header { grid-area: header; }
.site-nav { grid-area: sidebar; }
.site-main { grid-area: main; }
.site-footer { grid-area: footer; }fr ใน grid-template-columns: 1fr 2fr แทนอะไรgrid-template-columns: 3grid-template-columns: repeat(3, 1fr)grid-columns: 1fr 3grid-template-areas ใช้ทำอะไรgrid-area