Ответ 1

Это означает, по сути, то, что он говорит; что "это важно, игнорируйте последующие правила и любые обычные проблемы специфичности, применяйте это правило!"

При нормальном использовании правило, определенное во внешней таблице стилей, отменяется стилем, определенным в head документа, который, в свою очередь, отменяется встроенным стилем внутри самого элемента (при условии равной селекторы). Определение правила с атрибутом !important '(?) Отбрасывает обычные проблемы в отношении "более позднего" правила, переопределяющего "более ранние".

Кроме того, как правило, более конкретное правило будет отменять менее конкретное правило. Итак:

a {
    /* css */
}

Обычно отменяется:

body div #elementID ul li a {
    /* css */
}

Поскольку последний селектор является более конкретным (и обычно он не имеет значения, где найден более специфичный селектор (в head или внешней таблице стилей), он все равно будет переопределять менее специфичный селектор (в атрибуты стиля линии всегда будут переопределять "больше" или "меньше", конкретный селектор, поскольку он всегда более конкретный.

Если, однако, вы добавляете !important в менее специфичное объявление CSS-селектора, оно будет иметь приоритет.

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

Это также делает отладку вашего CSS кошмаром (от личного, эмпирического, опыта).

Ответ 2

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

Итак, если у вас есть следующее:

.class {
   color:red !important;
}
.outerClass .class {
   color:blue;
}

правило с важным будет применено (не считая specificity)

Я считаю, что !important появился в CSS1, поэтому каждый браузер поддерживает его (IE4 для IE6 с частичной реализацией, IE7 + полный)

Кроме того, это то, что вы не хотите использовать довольно часто, потому что, если вы работаете с другими людьми, вы можете переопределить другие свойства.

Ответ 3

!important является частью CSS1.

Поддерживаемые браузеры: IE5.5 +, Firefox 1+, Safari 3+, Chrome 1 +.

Это означает, что-то вроде:

Используйте меня, если в этом нет ничего важного!

Не могу сказать лучше.

Ответ 4

Он используется, чтобы влиять на сортировку в каскаде CSS при выполнении сортировки по происхождению. Это не имеет ничего общего со спецификой, как указано здесь в других ответах.

Здесь приоритет от самого низкого до самого высокого:

  • стили браузера
  • декларации таблиц стилей пользователя (без!)
  • объявления стилей стилей автора (без!)
  • ! важные стили стилей автора
  • ! важные листы пользовательского стиля

После эта специфика имеет место для правил, все еще имеющих палец в пироге.

Ссылки:

Ответ 5

Он изменяет правила для приоритета приоритета каскадов css. См. спецификацию CSS2.