закрыть ВНИМАНИЕ! 13 ФЕВРАЛЯ СОСТОИТСЯ НАБОР НА КУРСЫ МЕДИТАЦИИ МЕДИТАЦИЯ - основное средство развития психики и самопознания. Познать метод, дающий внутреннюю гармонию и раскрывающий внутренние глубины предлагают данные курсы.

Подробности на странице: http://untaware.blogspot.ru/p/0021_30.html

Условные комментарии для IE

Условные комментарии используются для написания специальных инструкций которые будут работать только в Internet Explorer не ниже 5-ой версии.

Условный комментарий выглядит следующим образом:

<!­­[if IE]> Специальные инструкции для IE здесь. <![endif]-->

Структура похожа на обычный комментарий в HTML, поэтому остальные браузеры будут воспринимать его как обычный комментарий. Explorer распознаёт специальный синтаксис <!--[if IE]>, решает условие if и представляет содержимое условного комментария так, как если бы это было содержание нормальной страницы. Условные комментарии используют синтаксис HTML комментариев, поэтому они могут быть включены только в HTML страницу. Удобно бывает сделать отдельные стили для IE и вставить тег link в условный комментарий.

Конечно, условные комментарии, как и обычные не могут быть вставлены внутри тега.

В условных комментариях можно использовать операторы, с помощью которых можно условие.

Оператор Описание
lt меньше чем
lte меньше или равно
gt больше чем
gte больше или равно

В таблице ниже приведены все операторы:

Элемент Пример Значение
IE [if IE] Единственное поддерживаемое сейчас свойство IE, равное версии Internet Explorer.
value [if IE 7] Целое или дробное число обозначающее версию браузера. Выражение истинно если число совпадает с версией браузера.
! [if !IE] Оператор отрицания (NOT). Возвращает значение обратное логическому значению аргумента.
lt [if lt IE 5.5] Меньше (less-than). Возвращает true если первый аргумент меньше второго.
lte [if lte IE 6] Меньше либо равно (less-than or equal). Возвращает true если первый аргумент меньше либо равен второму.
gt [if gt IE 5] Больше (greater-than). Возвращает true если первый аргумент больше второго.
gte [if gte IE 7] Больше либо равно (greater-than or equal). Возвращает true если первый аргумент больше либо равен второму.
( ) [if !(IE 7)] Скобки позволяют выделить подвыражения в сложном выражении.
& [if (gt IE 5)&(lt IE 7)] Оператор AND. Возвращает true если оба подвыражения истинны.
| [if (IE 6)|(IE 7)] Оператор OR. Возвращает true если одно их подвыражений истинно.
true [if true] Всегда true.
false [if false] Всегда false.

 

Примеры:

<!--[if IE]>
Специальные инструкции для IE
<![endif]-->

<!--[if IE 5]>
Специальные инструкции для IE5
<![endif]-->

<!--[if IE 5.0]>
Специальные инструкции для IE5.0
<![endif]-->

<!--[if IE 5.5]>
Специальные инструкции для IE5.5
<![endif]-->

<!--[if IE 6]>
Специальные инструкции для IE6
<![endif]-->

<!--[if IE 7]>
Специальные инструкции для IE7
<![endif]-->

<!--[if gte IE 5]>
Специальные инструкции для IE5 и выше
<![endif]-->

<!--[if lt IE 6]>
Специальные инструкции для IE ниже 6 версии
<![endif]-->

<!--[if lte IE 5.5]>
Специальные инструкции для IE5.5 и ниже
<![endif]-->

<!--[if gt IE 6]>
Специальные инструкции для IE выше 6 версии
<![endif]-->

<!--[if gt IE 7]>
Специальные инструкции для IE8 и старше
<![endif]-->

<!--[if gte IE 8]>
Специальные инструкции для IE8 и старше
<![endif]-->

Еще примеры:

<!--[if IE]>
<h1>Этот текст выведется во всех браузерах </h1>
<![endif]-->

<!--[if IE 6]>
<h1>Этот текст выведется только в IE6 </h1>
<![endif]-->

<!--[if gt IE 5]>
<h1>Этот текст выведется браузерах версии выше 5 </h1>
<![endif]-->

<!--[if (gt IE 5)&(lt IE 7)]>
<img src="blank.gif" width="100" height="100" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'png_sample_image.png\', sizingMethod=\'scale\')" alt="Пример использования условного комментария" />
<![endif]-->

<!--[ if lte IE 6]> <link rel="stylesheet" type="text/css" href="ie6style.css" media="all" /> <![endif]--> 

 

Условные комментарии и различные версии IE на одном компьютере

Если у вас установлено несколько версий IE, каждый их них будет считать, что его версия равна версии самого нового IE установленного в системе, т.е. если установлены IE6 и IE7, то в IE6 условные комментарии будут работать так же как и в IE7. Исправить это можно удалив ключ IE в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version Vector (если удалять не хочется можно просто переименовать его в xIE, так поступает Multiple IE package44 от TredoSoft).