Skip to content

CSS Grid อธิบาย

พร็อพเพอร์ตี้ CSS grid ที่ใช้บ่อยทั้งหมด จัดกลุ่มตามจุดที่ใช้งาน: ที่ container ที่ item และที่หน่วยการกำหนดขนาด แต่ละแถวจับคู่พร็อพเพอร์ตี้กับค่าที่ใช้บ่อย

Grid จัดวางอิลิเมนต์ในสองมิติ: แถวและคอลัมน์ไปพร้อมกัน ตั้ง display: grid บนพาเรนต์ กำหนดแทร็กด้วย grid-template-columns และ grid-template-rows แล้ววางลูกลงในเซลล์ ใช้ grid สำหรับเลย์เอาต์ของหน้าและการ์ด ใช้ flexbox สำหรับแถบหนึ่งมิติ ทั้งสองผสมกันได้อย่างอิสระ

ตารางอ้างอิง · 33 รายการ
33 of 33 rows
Container
grid | inline-gridเปลี่ยนอิลิเมนต์ให้เป็น grid container
1fr 1fr | repeat(3, 1fr) | 200px 1frกำหนดคอลัมน์และความกว้างของคอลัมน์
auto 1fr autoกำหนดแถวและความสูงของแถว
[main-start] 1fr [main-end]ตั้งชื่อเส้นกริดในเทมเพลต แล้ววาง item ตามชื่อเหล่านั้น
1rem | 8px 16pxช่องว่างระหว่างแถวและคอลัมน์
"header header" "nav main"ตั้งชื่อเซลล์เพื่อให้อ่านการจัดวางได้ง่าย
"head head" 64px "nav main" 1fr / 200px 1frกำหนดแถว คอลัมน์ และพื้นที่ในรูปย่อเดียว
repeat(2, 1fr) / auto-flow 80pxกำหนดพร็อพเพอร์ตี้แทร็กทั้งหมดและ grid-auto-flow ในการประกาศเดียว
minmax(80px, auto)กำหนดความสูงของแถวที่เทมเพลตไม่ได้กำหนด
120px | minmax(0, 1fr)กำหนดความกว้างของคอลัมน์ที่เทมเพลตไม่ได้กำหนด
row | column | row denseเลือกแกนสำหรับ item ที่ยังไม่ถูกวาง ส่วน dense จะเติมช่องว่างที่เกิดก่อนหน้า
start | center | end | stretchจัด item แต่ละตัวภายในเซลล์ตามแกนแถว
start | center | end | stretchจัด item แต่ละตัวภายในเซลล์ตามแกนคอลัมน์
center | start endกำหนด align-items และ justify-items ในการประกาศเดียว
start | center | space-betweenจัดกริดของแทร็กภายใน container ตามแกนแถว
start | center | space-betweenจัดกริดของแทร็กภายใน container ตามแกนคอลัมน์
center | end startกำหนด align-content และ justify-content ในการประกาศเดียว
Item
1 / 3 | span 2วางตำแหน่ง item ตามคอลัมน์ หรือให้ครอบคลุมหลายคอลัมน์
1 / 2 | span 3วางตำแหน่ง item ตามแถว หรือให้ครอบคลุมหลายแถว
grid-column: 2 / -1นับเส้นจากปลายกริด โดย -1 คือเส้นสุดท้าย
header | 1 / 1 / 2 / 3ตั้งชื่อ item หรือวางตำแหน่งแบบสมบูรณ์ในรูปย่อเดียว
start | center | end | stretchจัด item ตัวนี้ภายในเซลล์ตามแกนแถว
start | center | end | stretchจัด item ตัวนี้ภายในเซลล์ตามแกนคอลัมน์
center | start endกำหนด align-self และ justify-self ในการประกาศเดียว
หน่วยการกำหนดขนาด
1fr | 2frส่วนแบ่งหนึ่งของพื้นที่ว่างในแทร็ก
auto | 1fr autoกำหนดขนาดแทร็กตามเนื้อหา การจัดวางสามารถยืดมันได้
min-content | max-contentกำหนดขนาดแทร็กตามเนื้อหาที่เล็กที่สุดหรือใหญ่ที่สุด
fit-content(180px)กำหนดขนาดแทร็กตามเนื้อหาแต่ไม่เกินขีดจำกัดที่กำหนด
minmax(200px, 1fr)จำกัดแทร็กไว้ระหว่างค่าต่ำสุดและค่าสูงสุด
repeat(4, 1fr)ทำซ้ำรูปแบบแทร็กโดยไม่ต้องพิมพ์ทีละอัน
repeat(auto-fit, minmax(120px, 1fr))เพิ่มแทร็กเท่าที่พอดี ส่วน auto-fit จะยุบแทร็กที่ว่างเปล่า
grid-template-columns: subgridทำให้กริดซ้อนใช้แทร็กและชื่อเส้นของพาเรนต์ร่วมกัน
grid-template-rows: masonryยังเป็นการทดลอง: จัด item ลงคอลัมน์ตามความสูงแทนแถวตายตัว