Автор: http://suprabiz.com/
Очень не люблю при верстке использовать для IE так называемые условные
комментарии (Conditional Comments) - нет желания писать отдельный файл стилей
(предпочитаю “все в одном”), да и лишние строки в хтмл-коде - не есть красиво.
С относительно недавнего времени к трем браузерам, в которых я просматриваю
результат верстки, как было ранее (Opera, FireFox, IE 6.0), добавился еще один -
Internet Explorer 7 (теперь их 4 - какой ужас!). А, соответственно, случаются
ситуации, когда определенный стиль нужно применить только для 7-й версии ИЕ.
Попался мне на глаза CSS хак для Internet Explorer 7,
который я раньше не встречал: *:first-child+html.
Если фоновый цвет данного абзаца зеленый, значит хак
поддерживается браузером.
Пример кода
-
p.test1 {
-
background: #FAA;
-
}
-
*:first-child+html p.test1
{
-
background: #95FF95;
-
}
Список браузеров, поддерживающих хак:
Список браузеров, которые не поддерживают хак:
- IE 4-6/Win
- FireFox
- NS 6.0-7.2
- NS 4.x
- Opera 5+
- Safari
- Konqueror 3
- iCab 3
- IE 5.x/Mac
IE 5.5 и IE 6 будет игнорировать любое
правило, которое использует этот хак, даже если описывается цепочка селекторов,
разделенных запятыми. Чтобы убедиться в этом, посмотрим на еще один тест.
Пример кода
-
p.test2 {
-
background: #FAA;
-
}
-
* html p.test2 {
-
background: #FF8;
-
}
-
*:first-child+html p.test2,
-
* html p.test2 {
-
background: #95FF95;
-
}
Если фоновый цвет данного абзаца зеленый, значит хак работает.
Если фон желтый, значит браузер поддерживает хак “* html” и игнорирует второе
правило (для IE 7).
До сегодняшнего для указания персональных стилей для IE 7 я использовал
следующую конструкцию (хак):
-
* body p.test {
-
background: #95FF95;
-
}
А каким образом Вы задаете CSS-стили для браузера Internet Explorer 7?
|