IE6 поддерживает! Важное, когда правило с! Важным является последним правилом для этого свойства в селекторе.
Это звучит немного странно, но если вы объявляете! Важную высоту, это должно быть последним объявлением для "высоты" в данном селекторе.
В качестве таковых рассмотрим следующие примеры:
#selector { height: 100px; height: 150px !important; }
Result: All browsers: 150px;
#selector { height: 100px; height: 150px !important; }
td#selector { height: 200px; }
Result: All browsers: 150px;
#selector { height: 100px; height: 150px; }
td#selector { height: 70px; height: 200px !important; }
Result: All browsers: 200px;
#selector { height: 100px !important; height: 150px; }
Result: All modern browsers but ie6: 100px; ie6: 150px;
#selector { height: 100px !important; height: 150px; }
td#selector { height: 200px; }
Result: All modern browsers but ie6: 100px; ie6: 200px;
#selector { height: 100px; height: 150px; }
td#selector { height: 70px !important; height: 200px; }
Result: All modern browsers but ie6: 70px; ie6: 200px;
То, что делает ie6, анализирует значение 'height' для каждого селектора как последнее объявление 'height', присутствующее в селекторе (могут применяться другие правила, но я считаю, что это ваш стандартный случай). Затем он выбирает наиболее конкретную «высоту» из всех этих, основываясь на! Важных и правилах специфики селектора. Он фактически игнорирует объявления 'height', которые не являются последними в их селекторе.
Другие браузеры вместо этого будут учитывать "важный" при анализе значения "высоты" для каждого селектора, прежде чем сравнивать селекторы на основе! Важных и правил специфичности.
Одним из "преимуществ" этого является то, что любой другой разумный браузер будет использовать ваш "важный" стиль, в то время как ie6 выберет последнее объявление правила в этом селекторе.
Вам было бы намного лучше с конкретной таблицей стилей ie6, если только не существует очень небольшого количества настроек ie6, и вы не хотите комментировать каждую из них как эксплойт ie6.
Ментальный пример
Представьте себе, что выбрать правило CSS - это вопрос 1) получения всех правил, соответствующих элементу, и 2) решения, какое из этих правил использовать. Притворись, что встроенный тег стиля - это просто еще один селектор, если я не упомяну иначе.
В любом другом браузере, если вы хотите получить «высоту» для элемента, он делает это примерно:
Для каждого селектора выберите последнюю! Важную высоту, если она есть, в противном случае просто последнюю высоту.
Выберите самый специфический селектор, где выбранная «высота» является! Важной высотой, в противном случае высота встроенного стиля, в противном случае наиболее специфичный селектор.
В ie6 это примерно так:
Для каждого селектора выберите последнюю высоту.
Выберите самый специфический селектор, где выбранная «высота» является! Важной высотой, в противном случае высота встроенного стиля, в противном случае наиболее специфичный селектор.