Подтвердить что ты не робот

Когда важная декларация CSS! Не работает?

Мне интересно, может ли кто-то поместить немного авторитетного реферала, когда важная декларация в CSS делает не работу для переопределения встроенных стилей.

4b9b3361

Ответ 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 и ранее не распознают! Важно (если браузер не находится в режиме соблюдения стандартов, а не по умолчанию).

Вы можете использовать! важно переопределить встроенное правило. Но также помните, что встроенные правила могут быть помечены и важными.