Играет роль в том случае, когда пользователи подключают свою собственную таблицу стилей, также применяется для повышения специфичности стилевого правила. Если возникает противоречие, когда стиль автора страницы и пользователя для одного и того же элемента не совпадает, то !important позволяет повысить приоритет стиля.
При использовании пользовательской таблицы стилей или одновременном применении разного стиля автора и пользователя к одному и тому же селектору, браузер руководствуется следующим алгоритмом.
- !important добавлен в авторский стиль — будет применяться стиль автора.
- !important добавлен в пользовательский стиль — будет применяться стиль пользователя.
- !important нет как в авторском стиле, так и стиле пользователя — будет применяться стиль автора.
- !important содержится в авторском стиле и стиле пользователя — будет применяться стиль пользователя.
Итог от применения !important в общем случае показан в табл. 1.
Стиль автора | Стиль пользователя | Результат |
---|---|---|
BODY { /* Серый цвет текста */ color: silver; /* Размер текста 8 пунктов */ font-size: 8pt } | BODY { /* Чёрный цвет текста */ color: #000; /* Размер текста 12 пунктов */ font-size: 12pt } | Lorem ipsum dolor sit amet... Будет применяться стиль автора, а именно: установлен серый цвет текста, размер шрифта 8 пунктов. |
BODY { /* Серый цвет текста */ color: silver; /* Размер текста 8 пунктов */ font-size: 8pt } | BODY { /* Чёрный цвет текста, повышенная важность */ color: #000 !important; /* Размер текста 12 пунктов */ font-size: 12pt } | Lorem ipsum dolor sit amet... Цвет текста будет установлен пользовательским, а размер шрифта останется исходным. В итоге увидим чёрный текст размером 8 пунктов. |
BODY { /* Серый цвет текста */ color: silver; /* Размер текста 8 пунктов */ font-size: 8pt } | BODY { /* Чёрный цвет текста, повышенная важность */ color: #000 !important; /* Размер текста 12 пунктов, повышенная важность */ font-size: 12pt !important } | Lorem ipsum dolor sit amet... Будут использоваться все стилевые свойства пользователя. Текст станет отображаться как чёрный, размер 12 пунктов. |
BODY { /* Серый цвет текста, повышенная важность */ color: silver !important; /* Размер текста 8 пунктов, повышенная важность */ font-size: 8pt !important } | BODY { /* Чёрный цвет текста, повышенная важность */ color: #000 !important; /* Размер текста 12 пунктов, повышенная важность */ font-size: 12pt !important } | Lorem ipsum dolor sit amet... При добавлении !important в ту и другую таблицу приоритет в этом случае имеет стиль пользователя. В результате текст станет чёрным, а размер его увеличится до 12 пунктов. |
В данном примере для одного селектора задается одно и то же свойство с разными значениями. Но поскольку к первому селектору добавляется !important, то его стиль и будет применяться на странице.