ช่วยเลือกไวยากรณ์สำหรับการซ้อนกันของ CSS

อดัม อาร์ไกล์
อดัม อาร์ไกล์

หลังจากที่เราทำแบบสำรวจก่อนหน้านี้เพื่อช่วยเลือกไวยากรณ์สำหรับการซ้อน CSS คณะทำงาน CSS จะยังคงโต้เถียงกันถึงวิธีที่ดีที่สุดในการกำหนดการซ้อนใน CSS ในระหว่างการสนทนามีการแนะนำแนวคิดไวยากรณ์ใหม่ เราได้จัดทำแบบสำรวจใหม่เพื่อช่วยให้คณะทำงานเลือกใช้ไวยากรณ์แบบต่างๆ เหล่านี้

ตัวเลือก

จากผลการสำรวจก่อนหน้านี้ เราจะไม่พิจารณาตัวเลือกที่ 1 และ 2 อีกต่อไป มีการเพิ่มตัวเลือกใหม่สองตัวเลือก (สี่และห้า)

ตัวเลือกที่ 5: คอนเทนเนอร์ที่ซ้อนกันระดับบนสุด

เริ่มใช้กฎ @nest ระดับบนสุดที่มีบล็อก & { … } ที่มีการประกาศและกฎของรูปแบบที่ซ้อนกันหลายรายการ

@nest selector {
  & {
    property: value;
  }
  nested-selector {
    property: value;
  }
}

ตัวเลือกที่ 4: ข้อเสนอ Postfix

ระบบจะแทรกโค้ดบล็อกส่วนเกินที่มีกฎที่ซ้อนกันไว้หลังกฎหลักที่มีการประกาศ

selector {
  property: value;
} {
  nested-selector {
    property: value;
  }
}

ตัวเลือกที่ 3: ข้อเสนอเริ่มต้นที่ไม่ใช่ตัวอักษร

กฎที่ซ้อนอยู่ทั้งหมดจะไม่กำกวม โดยกำหนดให้กฎเริ่มต้นทำงานด้วยสัญลักษณ์ที่ไม่ใช่สัญลักษณ์ คุณเขียน & div หรือ :is(div) ได้หากต้องการเริ่มต้นตัวเลือกด้วยตัวเลือกประเภท

selector {
  property: value;
  & nested-selector {
    property: value;
  }
}

แม้ว่าตัวอย่างด้านบนจะใช้เพื่อแสดงข้อมูลพื้นฐานของแต่ละข้อเสนอเท่านั้น แต่ก็มีตัวอย่างอีกมากมายที่มาพร้อมกับแบบสำรวจใหม่

ลงคะแนนโหวต

หากต้องการโหวต โปรดไปที่ https://webkit.org/blog/13607/ การลงคะแนนเสียงไม่จําเป็นต้องลงทะเบียน เลือก "ตัวเลือกที่ 5" "ตัวเลือกที่ 4" หรือ "ตัวเลือกที่ 3" แล้วกด "ส่ง"

โหวตของคุณเลย