Порывшись в рунете на предмет хаков под гребанный ИЕ и не найдя толковой статьи, решил написать её сам. Итак, в данной статье будут собраны все хаки, которые можно использовать, чтобы заставить нормально отображаться верстку в интернет эксплорере.
Итак, есть всего 2 пути решения этой проблемы.
1 СПОСОБ. Использовать условные операторы. А именно:
<!--[if condition]> HTML <![endif]-->
где вместо condition вы можете вставить такие значения
все версии эксплорера
Версии ниже указанной. В данном случае 7
Версии ниже указанной или же равной ей.
только указанная версия
версии выше указанной или равной ей
версии выше указанной
Вместо HTML вы должны вставить путь к файлу стилей. Таким образом мы говорим в коде, что если используется такая-то версия ИЕ, то используй такой-то файл стилей, который соответственно вы должны создать.
Пример использования
<head>
<title>Test</title>
<link href="all_browsers.css" rel="stylesheet" type="text/css">
<!--[if IE]>
<link href="ie_only.css" rel="stylesheet" type="text/css">
<![endif]-->
<!--[if lt IE 7]>
<link href="ie_6_and_below.css" rel="stylesheet" type="text/css">
<![endif]-->
</head>
В этом примере мы сообщаем браузеру, что если используется ИЕ то будет использован файл стилей ie_only.css, при этом если версия ниже 7, то для него будет взят файл стилей ie_6_and_bellow.css. Для всех остальных браузеров будет использован all_browsers.css
2 СПОСОБ – Использовать хаки в файле стилей
Для ИЕ6 и ниже. примечание – код будет выглядеть приблизительно так * html #red{color: #000} Т.е. после хака нужно вставить нужный стиль, а в скобках те параметры, которые вы хотите, чтобы работали именно в определенном браузере
*:first-child+html {} * html {}
ИЕ 7 и ниже
*:first-child+html {}
Только ИЕ7
html>body {}
Новые браузеры и ИЕ7
Новые браузеры, без ИЕ7
Опера 9 и ниже
Есть ещё 2 способа, которые я нашел.
1. !important
Вообще, этот тег означает преимущество использования того класа, где он стоит над другими, но его не поддерживает ИЕ6, поэтому можно делать так
<style type="text/css">
p
{
background: green !important; /* для браузеров, кроме ИЕ6 */
background: red; /* для IE 6 и ниже */
}
</style>
2. импорт стилей для браузеров не ИЕ
есть такой селектор
@import "non-ie.css" all;
Вы можете создать отдельный файл стилей non-ie.css, для всех браузеров, кроме ИЕ 7 и ниже, а в основном файле стилей прописать этот селектор. Он прикрепит к нашему основному файлу дополнительный, но фишка в том, что ИЕ7 и ниже не понимают этот селектор, а значит будут игнорировать этот файл.
П.С. Недавно моя кошечка ни стого ни с сего начала блевать, жаль, что я живу не в столице, а то быстро позвонил бы в
ветпомощь на дому
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Похожие статьи:
Лучше бы рассказали (если знаете), какие теги ИЕ игнорирует! Потому что иногда используешь что-то, а МС-говно-браузер не понимает и выбрасывает ошибку.
Я прописала так: … background:url(../themes/Gillette/forum/popup.jpg) repeat-x;*background-attachment:fixed; …. Работает как в ie6 так и в ie7
Пример здесь (click on preview):
#jungle {
color: #990000\9;
}
тоесть \9 — в конце совтсва добавляешь