Мне интересно, может ли кто-то поместить немного авторитетного реферала, когда важная декларация в CSS делает не работу для переопределения встроенных стилей.
Когда важная декларация CSS! Не работает?
Ответ 1
Существует множество факторов, определяющих, какие стили переопределяют друг друга. Чем ниже объявление стиля появляется в каскаде, а более конкретный он нацелен на элемент, тем больше он будет весить против других стилей.
Это стандарт CSS2 для наследования стиля:
- Если каскад приводит к значению, используйте его.
- В противном случае, если свойство наследуется, используйте значение родительского элемент, как правило, вычисленное значение.
- В противном случае используйте начальное значение свойства. Начальное значение каждое свойство указано в определение свойства.
Внутри браузер будет рассчитать спецификацию правила в соответствии со стандартом. Важное объявление добавит вес к правилу, но динамическое присвоение атрибута стиля часто имеет приоритет, потому что оно обычно более строго указано.
Ответ 2
Хорошо, что до сих пор исследование подсказывает:
- IE7 поддерживает! important.
- Поддержка FireFox 2 и 3 важна.
- Поддержка IE6 важна в стандартном режиме.
Однако IE6 (возможно IE7) не поддерживает! важно в в этом случае:
someselector {
property: value !important;
same-property: another-value;
}
Он будет использовать второе значение (последнее перечисление).
Это подтверждается этой страницей:
В Internet Explorer 6 и более ранних версиях, если появляется важная декларация перед нормальным объявлением такое же свойство в пределах одного и того же блок декларации, нормальный декларация перезапишет важная декларация.
Internet Explorer 6 и 7 дают важность для декларации, когда незаконный идентификатор используется вместо ключевое слово важно, а не игнорируя декларацию, поскольку они следует.
В комментарии Gizmo говорится, что поддержка Safari и Opera важна.
Ответ 3
Я уверен, что не все браузеры распознают важное объявление. Но я не могу вспомнить, какие из них снимаются с моей головы. Будет проверять и возвращаться к вам.
[EDIT] Я могу подтвердить, что IE6 и ранее не распознают! Важно (если браузер не находится в режиме соблюдения стандартов, а не по умолчанию).
Вы можете использовать! важно переопределить встроенное правило. Но также помните, что встроенные правила могут быть помечены и важными.