เครื่องมือสร้าง 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 เมื่อองค์ประกอบไหลไปตามแกนเดียว (แถบนำทาง แถวปุ่ม กองช่องฟอร์ม)

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

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

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

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

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

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

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

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

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

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

เครื่องมือตรวจสอบหมายเลขโทรศัพท์

ตรวจสอบโครงสร้างหมายเลขตามประเทศ พร้อมดูภูมิภาค ประเภท และรูปแบบ E.164 ระหว่างประเทศ ในประเทศ และ RFC 3966