Когда использовать "! Important", чтобы сохранить день (при работе с CSS)

#div p {
    color: red !important;
}
...
#div p {
    color: blue;
}

Я понимаю, как работает !important, в этом случае div будет красным, потому что теперь он имеет приоритет (! important). Но я все еще не могу найти подходящую ситуацию для ее использования. Кто-нибудь знает какой-нибудь пример, где !important сохраняет день?

Ответ 1

Рассмотрим это:

#someElement p {
    color: blue;
}

p.awesome {
    color: red;
}

Как вы делаете абзацы awesome всегда красными, даже внутри #someElement? Без !important первое правило будет иметь более конкретную характеристику и выиграет второе правило.

Ответ 2

Только в крайнем случае! Это связано с тем, что после использования его трудно переопределить. Мои эмпирические правила:

  • Никогда использовать! важно на сайте css.
  • Использовать только! важно на странице css, которая переопределяет общесистемный или внешний css (например, из ExtJs или YUI).
  • Никогда использовать! важно, когда вы пишете плагин /mashup.
  • Всегда искать способ использования специфики, прежде чем даже рассмотреть! important

Ответ 3

!important сохраняет день в тех случаях, когда вы не контролируете вывод HTML и отображает атрибут style=''. Подумайте о ASP.NET и других инфраструктурах.

Единственный способ, которым вы можете изменить этот стиль, - либо использовать javascript, либо пометить свое правило CSS как важное. Важно.

Ответ 4

Кроме того, !important игнорируется в IE6/7. Таким образом, вы можете использовать его как IE6/7 hack.

Ответ 5

! important полезен, когда вы работаете с другим кодом и не можете переопределить эффект, просто используя более конкретные селектора. Когда меня попросят войти и добавить страницу или небольшой набор страниц на существующий сайт, и я должен включить существующие таблицы стилей, но не могу их редактировать (из-за отсутствия доступа или из-за того, что просачивание вниз эффект нарушил бы другие вещи), что там важно! В противном случае вы должны использовать специфику селектора, чтобы переопределить поведение.

Ответ 6

Если ваша страница содержит несколько файлов CSS, написанный вами CSS и дополнительный CSS, которые идут с программным обеспечением, написанным другими участниками, вы можете захотеть, чтобы некоторые из ваших CSS отмечены! важно "гарантировать", это не будет отменено CSS из других включенных файлов.

Ответ 7

Не используйте важное объявление, если вы сначала не пробовали все остальное, и помните о любых недостатках. Если вы его используете, вероятно, имеет смысл, если возможно, поместить комментарий в свой CSS рядом с любыми переопределенными стилями, чтобы обеспечить улучшенную совместимость кода.