Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> CSS

วิธีการเลือกองค์ประกอบทั้งหมดยกเว้นองค์ประกอบแรกด้วย CSS :not(:first-child) Selector

เรียนรู้วิธีเลือกองค์ประกอบ HTML ทั้งหมดยกเว้นองค์ประกอบแรกด้วย CSS `:not(:first-child) ตัวเลือก

หากคุณเพิ่มชุดกฎต่อไปนี้ในสไตล์ชีต CSS ของคุณ องค์ประกอบ h2 ทุกรายการในเว็บไซต์ของคุณทั้งหมดจะได้รับระยะขอบบนสุด 64px

h2 {
    margin-top: 64px;
}

แต่ถ้าคุณไม่ต้องการให้ระยะขอบบนนั้นกับองค์ประกอบ h2 แรกในเว็บไซต์ของคุณโดยทั่วไป แต่องค์ประกอบ h2 อื่นๆ ทั้งหมดล่ะ

ใช้ตัวเลือก :not(:first-child)

เพิ่มชุดกฎต่อไปนี้ในสไตล์ชีตของคุณ:

h2:not(:first-child) {
    margin-top: 64px;
}

ตอนนี้ทุกองค์ประกอบ h2 บนเว็บไซต์ของคุณจะได้รับค่า margin-top เท่ากัน ยกเว้นองค์ประกอบ h2 แรกสุดในแต่ละเอกสาร (หน้า/โพสต์)

กรณีการใช้งานสำหรับตัวเลือก :not(:first-child)

สมมติว่าคุณกำลังจัดรูปแบบการจัดรูปแบบตัวพิมพ์ของเว็บไซต์ คุณเป็นผู้ตัดสินใจว่า h2 . บทความทั้งหมดของคุณ องค์ประกอบส่วนหัวควรมี margin-top: 64px; เพื่อให้มีห้องหายใจระหว่างส่วนต่างๆ

แต่ที่ด้านบนสุดของทุกบทความ คุณมีส่วนเกริ่นนำที่มีสไตล์นิตยสาร/โปสเตอร์พร้อมภาพหน้าปก โอเวอร์เลย์ และองค์ประกอบข้อความต่างๆ ที่ด้านบน ในกรณีนั้น คุณอาจใช้องค์ประกอบส่วนหัวหลายรายการ (h1 สำหรับชื่อเรื่อง h2 สำหรับสโลแกน ฯลฯ)

ในกรณีนั้น คุณอาจไม่ต้องการใช้ค่าการเว้นวรรคที่เหมือนกันทุกประการ (ระยะขอบ/ช่องว่างภายใน) ในส่วนแนะนำของคุณ เช่นเดียวกับในบทความของคุณ โดยใช้ :not(:first-child) ตัวเลือก คุณลบปัญหานั้นออก

คุณสามารถใช้ตัวเลือกนี้กับทุกองค์ประกอบ HTML กรณีการใช้งานทั่วไปอีกกรณีหนึ่งคือถ้าคุณใช้รายการที่ไม่เรียงลำดับ <ul> สำหรับเมนูของคุณ คุณอาจมีรูปแบบเฉพาะเจาะจงที่คุณต้องการเพิ่มลงใน ul ในเมนูของคุณ แต่ไม่ใช่ในส่วนที่เหลือของไซต์ของคุณ (การจัดตำแหน่ง เส้นขอบ สี ฯลฯ)

ตอนนี้ CSS เกี่ยวกับการจัดสไตล์ด้วยคลาสไม่ใช่หรือ

ในการพัฒนาเว็บสมัยใหม่ การหลีกเลี่ยงตัวเลือกองค์ประกอบการจัดสไตล์โดยตรงเป็นที่นิยม ส่วนใหญ่ใช้ คลาส ตอนนี้. ฉันเป็นแฟนตัวยงของชั้นเรียนเช่นกัน เพราะมันช่วยให้เขียน CSS ที่ปรับขนาดและนำกลับมาใช้ใหม่ได้บนแพลตฟอร์มเว็บที่กำลังเติบโต

อย่างไรก็ตาม การจัดรูปแบบตัวเลือกโดยตรงยังคงมีอยู่ ในทางปฏิบัติ การสร้างสไตล์พื้นฐาน/โดยรวมบนตัวเลือกองค์ประกอบโดยตรงเพื่อปลูกฝังความสม่ำเสมอและความสม่ำเสมอใน UI ผลิตภัณฑ์ของคุณโดยอัตโนมัติ วิธีนี้ช่วยให้คุณประหยัดการจัดรูปแบบ UI ซ้ำๆ ได้มาก — เมื่อทำถูกต้อง