Перейти к основному содержимому

Специфичность CSS

То, какое объявление стиля достанется элементу, определяет алгоритм, называемый специфичностью CSS.

Когда два или более правила CSS указывают на один элемент, его стиль берётся из правила с наивысшей специфичностью.

Примеры ниже показывают это на практике:

Селектор элемента

Здесь действует только одно правило: оно делает элементы <p> красными, поэтому текст красный.

Prompt
Покажите HTML-страницу с правилом CSS, устанавливающим красный цвет для всех элементов . Включите элемент с текстом "Hello World!", чтобы красный цвет был виден.
Output: complete HTML page

Селектор класса

Теперь селектор класса с именем «test» добавляет зелёный цвет. Текст становится зелёным, потому что селектор класса имеет более высокую специфичность, чем селектор элемента.

Prompt
Покажите HTML-страницу с двумя правилами CSS: селектором класса ".test" с зелёным цветом и селектором элемента "p" с красным цветом. Включите элемент с классом "test" и текстом "Hello World!", чтобы показать, что селектор класса побеждает селектор элемента.
Output: complete HTML page

Селектор id

К ним присоединяется селектор id с именем «demo». Текст становится синим, потому что селектор id имеет более высокую специфичность, чем селектор класса и селектор элемента.

Prompt
Покажите HTML-страницу с тремя правилами CSS: селектором id "#demo" с синим цветом, селектором класса ".test" с зелёным цветом и селектором элемента "p" с красным цветом. Включите элемент с id "demo", классом "test" и текстом "Hello World!", чтобы показать, что селектор id побеждает.
Output: complete HTML page

Встроенный стиль

Теперь у элемента <p> есть встроенный стиль. Текст становится розовым, потому что нет специфичности выше, чем у встроенного стиля.

Prompt
Покажите HTML-страницу с тремя правилами CSS: селектором id "#demo" с синим цветом, селектором класса ".test" с зелёным цветом и селектором элемента "p" с красным цветом. Включите элемент с id "demo", классом "test", встроенным стилем "color: pink;" и текстом "Hello World!", чтобы показать, что встроенный стиль побеждает.
Output: complete HTML page