กฎความเฉพาะเจาะจงใน CSS
ในตัวอย่างก่อนหน้านี้ ตัวเลือกทั้งสองเหมือนกัน และมีความสำคัญเท่ากัน นั่นหมายความว่า คุณสมบัติที่ชนะคือคุณสมบัติที่ถูกเขียน ไว้ด้านล่าง
ยังมีสถานการณ์ที่องค์ประกอบหนึ่งหน้า ตรงกับตัวเลือกหลายตัว ในกรณีนี้เมื่อคุณสมบัติขัดแย้งกัน ตัวที่ชนะคือ ตัวเลือกที่ เฉพาะเจาะจงมากกว่า นั่นคือตัวเลือก ที่แม่นยำกว่า มาดูกฎความเฉพาะเจาะจงกัน
กฎข้อแรก
คลาสจะชนะตัวเลือกแท็กเสมอ:
html<p class="text">text</p>cssp {
color: red;
}
.text {
color: green; /* สีนี้จะถูกนำไปใช้ */
}
Результат:
กฎข้อที่สอง
รหัสเฉพาะ (ID) จะชนะคลาสเสมอ:
html<p id="elem" class="text">text</p>css.text {
color: red;
}
#elem {
color: green; /* สีนี้จะถูกนำไปใช้ */
}
Результат:
กฎข้อที่สาม
ภายใต้เงื่อนไขที่เท่ากัน ตัวเลือกที่ชนะคือตัวเลือก ที่มีส่วนประกอบมากกว่า ตัวอย่างเช่น ถ้า เรามีตัวเลือกแท็กสองตัว ตัวที่ชนะคือตัว ที่มีแท็กมากกว่า:
html<div>
<p>text</p>
</div>cssp {
color: red;
}
div p {
color: green; /* สีนี้จะถูกนำไปใช้ */
}
Результат:
ถ้าเป็นตัวเลือกคลาสสองตัว ตัวที่ชนะคือตัว ที่มีคลาสระบุไว้มากกว่า (หากในนั้น มีตัวเลือกแท็ก พวกมันจะไม่มีผล):
html<div class="block">
<p class="text">text</p>
</div>css.text {
color: red;
}
.block .text {
color: green; /* สีนี้จะถูกนำไปใช้ */
}
Результат: