Когда использовать !important в CSS: наглядные примеры
Быстрый ответ
Применяйте !important крайне осмотрительно и лишь в ситуациях, когда это абсолютно необходимо. Это свойство незаменимо для переопределения инлайновых стилей и в случаях, когда требуется работать с уже существующими стилями, которые никаким образом не контролируются вами. Как бы то ни было, злоупотребление !important может вызвать сложности при последующем поддержании кода, поскольку это снижает эффективность отладки и масштабирования проекта.
.button {
    background-color: blue !important; /* Переопределяет все остальные правила применительно к синему цвету */
}

Что необходимо знать о
Не забывайте: !important — это действительно крайняя мера, к которой следует прибегать только после того, как вы попытались использовать все другие варианты. Прежде чем применять его, попытайтесь усилить специфичность ваших селекторов, чтобы избежать ненужности его использования.
#content .button { /* Более специфичный селектор помогает обойтись без !important */
    background-color: blue; 
}
Ситуации, в которых без
Существуют случаи, когда без !important просто не обойтись. Например, если требуется переопределить стили, автоматически добавляемые JavaScript, !important вполне может помочь. Также он может пригодиться при работе с элементами, которые не подлежат изменению, например, в системах вроде SharePoint. В подобных ситуациях он временно разрешит проблемы стилей до тех пор, пока не будет осуществлён более всеобъемлющий апдейт.
/* !important как заслон против инлайновых стилей, создаваемых JavaScript */
.button {
    display: block !important; 
}
Код-ревью и
Повсеместное использование !important в коде может свидетельствовать о необходимости рефакторинга CSS. Постарайтесь создавать модульный, масштабируемый код, соблюдая такие методологии как BEM, OOCSS либо SMACSS. Это позволит сократить использование !important до минимума и упростит поддержку кода.
/* 🕵️ Вот он, !important. Возможно, настал момент для рефакторинга... */
Визуализация
Вообразите условную иерархию приоритетов правил CSS:
Светофор 🚦 | Правило CSS          | Приоритет
-------------|----------------------|-----------
Зелёный свет | Стандартное правило      | Низкий 🟢
Жёлтый свет | Специфичный селектор | Средний 🟡
Красный свет | Правило с !important | Высокий 🔴
Правила с !important схожи с сигналом красного света — они доминируют над остальными стилями, подобно тому как красный свет останавливает движение.
До применения `!important`: 🟢 Пользовательские стили -> 🟡 Встроенный CSS -> 🟢 Инлайновые стили
После `!important`: 🔴 СТОП! `!important` забирает приоритет!
!important необходимо применять так же редко, как красный свет на светофоре, чтобы не сорвать баланс стилей.
Влияние
Каждое применение !important требует обоснования и должно сопровождаться комментариями, объясняющими его необходимость. Такой подход позволит сохранить простоту поддержке кода в будущем и облегчит дальнейшую работу другим разработчикам, понимание причин такого решения.
.button {
    display: block !important; /* Применено ввиду конфликтов со скриптом jQuery */
}
В поисках альтернатив
Прежде чем решать использовать !important, поразмышляйте о других возможных вариантах. Возможно, стоит пересмотреть архитектуру CSS вашего проекта, чтобы избежать применения свойства !important. Если же проблема состоит в стилях сторонних гаджетов или библиотек, проверьте, есть ли у них настройки через классы CSS для устранения ненужного использования !important.
/* Переосмысление структуры вместо брутальной обработкой с помощью !important */
.common-button.special-condition {
    background-color: blue; 
}
При невозможности контролировать внешние скрипты
Если вам приходится работать со внешними виджетами и при этом контроль над HTML-структурой ограничен, !important может оказаться необходимым. Помните, что эту меру следует применять только после исчерпывающих попыток.
/* Когда плагины противятся, !important заставляет их уступить */
.plugin-widget {
    display: none !important; /* Экрана ты не достоишь! */
}
Полезные материалы
- Специфичность – CSS: Cascading Style Sheets | MDN — Основное руководство по специфичности в CSS, основа для существования 
!important. - Когда использование !important является правильным выбором | CSS-Tricks — Анализ правомерных ситуаций для применения 
!important. - CSS !important свойство – W3Schools — Хорошая точка старта для новичков, чтобы усвоить принцип работы 
!important. - Что означает !important в CSS? – Stack Overflow — Форум для обсуждения достоинств и недостатков применения 
!important. - Medium — Вероятно, поможет осознать значение 
!important, хотя и не предоставляет исчерпывающей информации для полной ясности. 


