บทนำ
- CSS Grid ได้รับการรองรับจากเบราว์เซอร์หลักทั้งหมดมาตั้งแต่ปี 2017
- อย่างไรก็ตาม แม้ในปี 2024 ก็ยังมีหลายคนที่ไม่ได้ใช้ความสามารถ
grid-template-areas
- บทความนี้ต้องการอธิบายทั้งความเรียบง่ายและพลังของ
grid-template-areas
พื้นที่กริดแบบตั้งชื่อใน CSS
- ใน CSS Grid สามารถกำหนดชื่อให้แต่ละพื้นที่กริดและอ้างอิงชื่อนั้นได้ทั่วทั้ง CSS
- ตัวอย่างเช่น สามารถกำหนดเลย์เอาต์กริดที่มี 2 คอลัมน์ และแมปแต่ละรายการเข้ากับ
grid-area ได้
กฎของพื้นที่เทมเพลตกริด
- พื้นที่ที่กำหนดต้องมีรูปทรงเป็นสี่เหลี่ยมผืนผ้า
- ต้องกำหนดทุกพื้นที่ให้ครบถ้วน
ไวยากรณ์ของเทมเพลตกริด
- ต้องใช้พร็อพเพอร์ตี
grid-template-areas เพื่อกำหนดพื้นที่กริด
- สามารถใช้สตริงของพื้นที่ได้หลายชุด
- สตริงเดี่ยวหมายถึงเลย์เอาต์แบบ 1 มิติ ส่วนหลายสตริงหมายถึงเลย์เอาต์แบบหลายมิติ
เส้นกริดแบบตั้งชื่อใน CSS
- สามารถกำหนดชื่อเฉพาะให้กับเส้นกริดได้
- ตัวอย่างเช่น ในกริดที่มี 3 คอลัมน์ สามารถตั้งชื่อให้แต่ละเส้นได้
- เส้นกริดแบบตั้งชื่อไม่ได้มาแทนที่หมายเลขเส้นแบบปกติ
กรณีการใช้งานของพื้นที่เทมเพลตกริด
- การสลับทิศทางกริด: ใช้
grid-template-areas เพื่อเปลี่ยนทิศทางของเลย์เอาต์ได้อย่างง่ายดาย
- เลย์เอาต์ส่วนหัว: ใช้
grid-template-areas เพื่อกำหนดเลย์เอาต์ของส่วนหัวและทำให้ตอบสนองได้
- เลย์เอาต์งานบรรณาธิการ: สามารถกำหนดและปรับเปลี่ยนเลย์เอาต์ที่มีคอนเทนต์หลายประเภทได้อย่างง่ายดาย
เลย์เอาต์แบบมีเงื่อนไขและ CSS :has()
- สามารถใช้ตัวเลือก
:has() ของ CSS เพื่อเปลี่ยนเลย์เอาต์ตามการมีอยู่ขององค์ประกอบ
การรองรับหลายภาษา (LTR/RTL)
- CSS Grid จะปรับเลย์เอาต์ตามทิศทางของหน้า (LTR หรือ RTL)
- นั่นหมายความว่าพื้นที่กริดแบบตั้งชื่อก็จะเป็นไปตามทิศทางของหน้าด้วย
พื้นที่กริดและ DevTools
- เบราว์เซอร์หลักทั้งหมดมีเครื่องมือที่ดีสำหรับพื้นที่กริด (Chrome, Safari, Firefox)
- แต่ละเบราว์เซอร์มีวิธีแสดงภาพพื้นที่กริดแตกต่างกัน
สรุปโดย GN⁺
- ความสามารถ
grid-template-areas ของ CSS Grid มีประโยชน์ในการทำความเข้าใจและจัดการเลย์เอาต์ในเชิงภาพ
- มีประโยชน์อย่างยิ่งเมื่อสมาชิกในทีมต้องปรับเปลี่ยนเลย์เอาต์
- บทความนี้อธิบายทั้งความเรียบง่ายและพลังของ
grid-template-areas และต้องการกระตุ้นให้มีผู้ใช้ฟีเจอร์นี้มากขึ้น
- โปรเจ็กต์อื่นที่มีความสามารถคล้ายกันคือ Flexbox
1 ความคิดเห็น
ความเห็นจาก Hacker News
สนใจเดโมแอนิเมชัน แต่ไม่ได้ทำด้วย CSS
บทความนี้เน้นข้อดีของ Grid และความยุ่งยากของไวยากรณ์ CSS
1/3ไม่ใช่เศษส่วน แต่เป็นช่วงตั้งแต่ 1 ถึง 31..3)เกี่ยวกับ Grid Garden และ Flexbox Froggy
ไม่เคยเข้าใจ Grid หรือ Flexbox มาก่อน
สงสัยว่ามีเวอร์ชันปูพื้นของเอกสารนี้หรือไม่
line numberคืออะไร1/3และ1/4ขอแนะนำ Mondrian with auto flow ของ Jen Simmons อย่างมาก
สงสัยว่าทำไมถึงกำหนดไวยากรณ์เป็น 1/2 และ 3/4
ชอบบล็อกโพสต์แบบโต้ตอบได้
เหมือนจะเข้าใจ CSS Grid เป็นครั้งแรก