Возможный дубликат:
Каковы последствия использования "! Important" в CSS?
Как вы читаете! Важно в CSS?
Что !important
в CSS?
Доступна ли она в CSS 2? CSS 3?
Где он поддерживается? Все современные браузеры?
Возможный дубликат:
Каковы последствия использования "! Important" в CSS?
Как вы читаете! Важно в CSS?
Что !important
в CSS?
Доступна ли она в CSS 2? CSS 3?
Где он поддерживается? Все современные браузеры?
Это означает, по сути, то, что он говорит; что "это важно, игнорируйте последующие правила и любые обычные проблемы специфичности, применяйте это правило!"
При нормальном использовании правило, определенное во внешней таблице стилей, отменяется стилем, определенным в head
документа, который, в свою очередь, отменяется встроенным стилем внутри самого элемента (при условии равной селекторы). Определение правила с атрибутом !important
'(?) Отбрасывает обычные проблемы в отношении "более позднего" правила, переопределяющего "более ранние".
Кроме того, как правило, более конкретное правило будет отменять менее конкретное правило. Итак:
a {
/* css */
}
Обычно отменяется:
body div #elementID ul li a {
/* css */
}
Поскольку последний селектор является более конкретным (и обычно он не имеет значения, где найден более специфичный селектор (в head
или внешней таблице стилей), он все равно будет переопределять менее специфичный селектор (в атрибуты стиля линии всегда будут переопределять "больше" или "меньше", конкретный селектор, поскольку он всегда более конкретный.
Если, однако, вы добавляете !important
в менее специфичное объявление CSS-селектора, оно будет иметь приоритет.
Использование !important
имеет свои цели (хотя я не могу их одумать), но это похоже на использование ядерного взрыва, чтобы остановить лисиц, убивающих ваших цыплят; да, лисицы будут убиты, но так будут и цыплята. И окрестности.
Это также делает отладку вашего CSS кошмаром (от личного, эмпирического, опыта).
Важным правилом является способ создания каскада CSS, но также правила, которые вы считаете наиболее важными, всегда применяются. Правило, которое Важное свойство всегда будет применяться независимо от того, где это правило появляется в документе CSS.
Итак, если у вас есть следующее:
.class {
color:red !important;
}
.outerClass .class {
color:blue;
}
правило с важным будет применено (не считая specificity)
Я считаю, что !important
появился в CSS1, поэтому каждый браузер поддерживает его (IE4 для IE6 с частичной реализацией, IE7 + полный)
Кроме того, это то, что вы не хотите использовать довольно часто, потому что, если вы работаете с другими людьми, вы можете переопределить другие свойства.
!important
является частью CSS1.
Поддерживаемые браузеры: IE5.5 +, Firefox 1+, Safari 3+, Chrome 1 +.
Это означает, что-то вроде:
Используйте меня, если в этом нет ничего важного!
Не могу сказать лучше.
Он используется, чтобы влиять на сортировку в каскаде CSS при выполнении сортировки по происхождению. Это не имеет ничего общего со спецификой, как указано здесь в других ответах.
Здесь приоритет от самого низкого до самого высокого:
После эта специфика имеет место для правил, все еще имеющих палец в пироге.
Ссылки:
Он изменяет правила для приоритета приоритета каскадов css. См. спецификацию CSS2.