เครื่องมือสร้าง CSS Grid

ถัดไป

CSS Grid เป็นวิธีมาตรฐานในการสร้างเลย์เอาต์ 2 มิติ แต่ไวยากรณ์ของคอนเทนเนอร์ลืมง่าย เครื่องมือนี้เขียนกฎคอนเทนเนอร์ให้คุณ: จำนวนคอลัมน์ความกว้างเท่ากันแบบคงที่ ระยะห่างระหว่างแทร็ก และมีเดียเควอรีที่สลับเป็นคอลัมน์ auto-fit เมื่อความกว้างต่ำกว่าค่าต่ำสุด เพื่อให้เลย์เอาต์อ่านง่ายบนจอเล็ก ผลลัพธ์เป็น CSS คอนเทนเนอร์ล้วนๆ ส่วนการวางองค์ประกอบยังอยู่ในสไตล์ชีตของคุณเอง

วิธีสร้างกริด

  1. 1

    กำหนดจำนวนคอลัมน์

    ระหว่าง 1 ถึง 12 แทร็กความกว้างเท่ากัน

  2. 2

    กำหนดความกว้างต่ำสุดของคอลัมน์

    ต่ำกว่านี้กริดจะสลับเป็น auto-fit เพื่อให้ทุกคอลัมน์รักษาขนาดต่ำสุดที่ใช้งานได้

  3. 3

    กำหนดระยะห่าง

    ช่องว่างระหว่างคอลัมน์และแถว

  4. 4

    สร้าง CSS

    เครื่องมือจะเขียนกฎคอนเทนเนอร์พร้อมทางเลือกแบบตอบสนอง

  5. 5

    คัดลอกโค้ด

    วางกฎคอนเทนเนอร์ในสไตล์ชีต แล้ววางองค์ประกอบด้วยกฎ `grid-column` / `grid-row` ของคุณเอง

คอนเทนเนอร์ที่สร้างขึ้น

display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;

@media (max-width: 660px) {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
  • repeat(3, minmax(0, 1fr)): สามคอลัมน์แบ่งความกว้างที่เหลือเท่ากัน 1fr คือหนึ่งส่วนของพื้นที่ที่เหลือ และ minmax(0, 1fr) ยอมให้คอลัมน์หดเล็กกว่าขนาดของเนื้อหา
  • gap: ระยะห่างระหว่างแต่ละแทร็ก
  • มีเดียเควอรีสลับเป็น repeat(auto-fit, minmax(220px, 1fr)) ซึ่งสร้างคอลัมน์ให้มากที่สุดเท่าที่พอ โดยแต่ละคอลัมน์กว้างอย่างน้อย 220px จุดแบ่งคือจำนวนคอลัมน์คูณกับความกว้างต่ำสุด (ขั้นต่ำ 120px) ดังนั้นบนจอเล็กกริดจะเลื่อนลงแถวใหม่แทนที่จะถูกบีบ

หน่วย fr

fr แปลว่า “หนึ่งส่วนของพื้นที่ที่เหลือ”: หลังจากหักแทร็กขนาดคงที่แล้ว พื้นที่ที่เหลือจะถูกหารด้วยจำนวนหน่วย fr ทั้งหมด

grid-template-columns: 200px 1fr 2fr;

บนคอนเทนเนอร์กว้าง 1000px คอลัมน์แรกกินพื้นที่ 200px และอีก 800px ที่เหลือแบ่งกัน 1:2 คือ 267px และ 533px

auto-fill กับ auto-fit

  • auto-fill: สร้างแทร็กว่างสำรองเมื่อมีองค์ประกอบไม่พอ
  • auto-fit: ยุบแทร็กว่างให้เป็นศูนย์ องค์ประกอบที่เหลือจึงยืดเต็มแถว

ทางเลือกแบบตอบสนองใช้ auto-fit ซึ่งตรงกับที่กริดการ์ดต้องการ: แถวดูเต็มอยู่เสมอ

คอลัมน์ความกว้างต่างกัน

เครื่องมือสร้างคอลัมน์เท่ากัน แก้ไขผลลัพธ์เพื่อผสมขนาด: grid-template-columns: 200px 1fr 2fr; ให้แถบข้างแบบคงที่และสองคอลัมน์ยืดหยุ่นในอัตรา 1:2 สำหรับพื้นที่ที่มีชื่อ (grid-template-areas) หรือการวางแบบระบุตำแหน่ง (grid-column: 1 / 3) ให้เพิ่มกฎเหล่านี้เองบนคอนเทนเนอร์ที่สร้างไว้

Grid กับ Flexbox

  • Grid: เลย์เอาต์ 2 มิติแบบระบุชัดเจนด้วยแทร็ก เหมาะเมื่อเลย์เอาต์มีโครงสร้างทั้งแถวและคอลัมน์ (โครงหน้าของหน้าเพจ แกลเลอรี แดชบอร์ด)
  • Flexbox: การจัดเรียง 1 มิติตามแกนเดียว เหมาะเมื่อองค์ประกอบไหลตามธรรมชาติ (แถบนำทาง แถวปุ่ม)

เลย์เอาต์จริงมักผสมทั้งสอง: Grid สำหรับโครงหน้าของหน้าเพจ และ Flexbox ภายในคอมโพเนนต์

ข้อผิดพลาดที่พบบ่อย

  • ลืม min-width: 0 บนองค์ประกอบลูก: องค์ประกอบกริดใช้ความกว้างต่ำสุดของเนื้อหาเป็นค่าเริ่มต้น ทำให้คอลัมน์ fr หดเล็กกว่าคำยาวที่สุดไม่ได้ ใส่ min-width: 0 ให้ลูกเพื่อให้หดได้
  • ซ้อนกันโดยไม่มี display: grid: ลูกของกริดไม่ได้เป็นกริดเองจนกว่าคุณจะประกาศ

คำถามที่พบบ่อย

ช่วยปกป้องเลย์เอาต์บนจอเล็ก มีเดียเควอรีที่สร้างขึ้นจะสลับเป็น repeat(auto-fit, minmax(ความกว้าง, 1fr)) ทุกคอลัมน์จึงคงความกว้างขั้นต่ำนั้นไว้ และกริดจะเพิ่มแถวแทนการบีบคอลัมน์

เครื่องมือสร้างคอลัมน์เท่ากัน แก้ไขบรรทัด grid-template-columns ในผลลัพธ์เพื่อผสมขนาด เช่น 1fr 2fr 1fr สำหรับคอลัมน์กลางกว้าง หรือ 200px 1fr สำหรับแถบข้างคงที่

ส่วนใหญ่เพราะองค์ประกอบมีค่าเริ่มต้น min-width: auto ซึ่งเท่ากับความกว้างต่ำสุดของเนื้อหา ใส่ min-width: 0 ให้องค์ประกอบกริดเพื่อให้หดเข้าไปในเซลล์ได้

Grid เมื่อเลย์เอาต์มีโครงสร้างทั้งแถวและคอลัมน์ (เลย์เอาต์หน้าเพจ แกลเลอรีภาพ แดชบอร์ด) Flexbox เมื่อองค์ประกอบไหลไปตามแกนเดียว (แถบนำทาง แถวปุ่ม กองช่องฟอร์ม)

เครื่องมือที่เกี่ยวข้อง

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

เครื่องสุ่มที่อยู่

สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ

ตัวตรวจสอบความถูกต้องของ JSON

ตรวจสอบไวยากรณ์ JSON และตรวจจับเครื่องหมายจุลภาคต่อท้าย เครื่องหมายอัญประกาศที่ผิด คีย์ซ้ำ และโครงสร้างที่ผิดรูปแบบ พร้อมระบุตำแหน่งข้อผิดพลาดอย่างแม่นยำ

เครื่องสร้างตัวอักษรสุ่ม

สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน

เครื่องมือนี้มีให้บริการในภาษาอื่น