Skip to main content
Практика завдань

Специфічність селекторів CSS

CSS селектор специфічності визначає, який стиль буде застосовано, коли кілька селекторів відповідають одному й тому ж елементу. Чим вища специфічність, тим вища пріоритетність стилю.

Формула специфічності

Специфічність розраховується на основі трьох категорій

Важливо: Класична система підрахунку специфічності не включає !important, оскільки це окрема концепція, яка переважає все. Зазвичай ми говоримо про три категорії, але для повноти !important можна згадати як особливий випадок:

  1. !important переважає всі нормальні стилі (окремо від механізму специфічності)
  2. Інлайн стилі (вбудовані стилі, наприклад, style="color: red;") мають найвищий пріоритет.
  3. ID надають вагу 100 балів кожен.
  4. Класи, атрибути та псевдокласи додають по 10 балів кожен.
  5. Теги та псевдоелементи додають по 1 балу кожен.

Приклади специфічності

СелекторСпецифічністьПояснення
*0, 0, 0Універсальний селектор, мінімальна вага.
p0, 0, 1Один тег (1 бал).
.class0, 1, 0Один клас (10 балів).
#id1, 0, 0Один ідентифікатор (100 балів).
div.class0, 1, 1Один тег (1) та один клас (10).
#id .class p1, 1, 1Один ID (100), один клас (10), один тег (1).
style="color: red;"Інлайн стильМаксимальна специфічність.

Як працює специфічність

Коли стилі з різних селекторів застосовуються до елемента, використовується селектор з більшою специфічністю. Якщо специфічність однакова, застосовується стиль, який з'являється пізніше в коді (правило каскаду).


Приклад

html
<div id="example" class="box"> Example text </div>
css
/* Стилі */ div { color: black; } /* 0, 0, 1 */ .box { color: blue; } /* 0, 1, 0 */ #example { color: red; } /* 1, 0, 0 */ /* Остаточний стиль: колір тексту буде червоним (#example). */

Порада:

Уникайте надмірного використання селекторів ID. Це робить код менш гнучким і ускладнює переважання стилів.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань