CSS-ի սպեցիֆիկության կանոններ

Նախորդ օրինակում երկու ընտրողներն էլ նույնն էին և ունեին նույն առաջնահերթությունը: Սա նշանակում է, որ հաղթում էր այն հատկությունը, որը գրված էր ներքևում:

Լինում են նաև իրավիճակներ, երբ էջի մեկ տարրին համապատասխանում են մի քանի ընտրողներ: Այս դեպքում հատկությունների հակասության դեպքում կհաղթի ավելի սպեցիֆիկ, այսինքն՝ ավելի ճշգրիտ ընտրողը: Եկեք դիտարկենք սպեցիֆիկության կանոնները:

Առաջին կանոն

Դասը միշտ հաղթում է տեգի ընտրողին:

html<p class="text">text</p>
cssp {
  color: red;
}
.text {
  color: green; /* կկիրառվի այս գույնը */
}

Результат:

Երկրորդ կանոն

Նույնականացուցիչը միշտ հաղթում է դասին:

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; /* կկիրառվի այս գույնը */
}

Результат: