Условные комментарии для Internet Explorer
Каждый верстальщик, пишущий html-css под несколько браузеров, сталкивается с тем, что в браузере Internet Explorer что-то работает не так, как в других популярных браузерах (Opera, Mozilla Firefox). Более того, часто бывает и такое, что ваш код неодинаково воспринимается версиями 6, 7 и 8. Из-за этого приходится заново верстать некоторые элементы страницы или же отказываться от использования некоторых приемов.
Для решения этой проблемы и написания специальных инструкций, которые будут работать только в Internet Explorer (не ниже 5-ой версии) можно использовать т.н. Условные комментарии.
Условный комментарий выглядит следующим образом:
<!--[if IE]> Специальные инструкции для IE здесь. <![endif]-->
Структура похожа на обычный комментарий в HTML, поэтому остальные браузеры будут воспринимать его как обычный комментарий. Explorer распознаёт специальный синтаксис <!--[if IE]>, решает условие if и парсит содержимое условного комментария так, как если бы это было содержание нормальной страницы. Условные комментарии используют синтаксис HTML комментариев, поэтому они могут быть включены только в HTML страницу. Удобно бывает сделать отдельные стили для IE и вставить тег link в условный комментарий.
Ниже написаны несколько условных комментариев, которые показывают версию Internet Explorer, которую вы используете.
<!--[if IE]> Инструкции для Internet Explorer <![endif]-->
<!--[if IE 5]> Инструкции для IE 5 <![endif]-->
<!--[if IE 5.0]> Инструкции для IE 5.0 <![endif]-->
<!--[if IE 5.5]> Инструкции для IE 5.5 <![endif]-->
<!--[if IE 6]> Инструкции для IE 6 <![endif]-->
<!--[if IE 7]> Инструкции для IE 7 <![endif]-->
В условных комментариях можно использовать операторы, с помощью которых можно задать более комплексное условие. В таблице ниже приведены все операторы.
Оператор | Описание |
lt | меньше чем |
lte | меньше или равно |
gt | больше чем |
gte | больше или равно |
Вот несколько примеров:
<!--[if ! IE 5]> Инструкции для IE 5.5, 6 или 7 <![endif]-->
<!--[if gt IE 5.0]> Инструкции для IE 5.5, 6 или 7 <![endif]-->
<!--[if lte IE 5.5]> Инструкции для IE 5.0 или 5.5 <![endif]-->
<!--[if gte IE 6]> Инструкции для IE 6 или 7 <![endif]-->
<!--[if lt IE 7]> Инструкции для IE 5.0, 5.5 или 6 <![endif]-->
Комментарии:
Оставить комментарий:
* Просьба все технические вопросы, которые могут потребовать обсуждения, задавать на форуме.
** все некорректные и рекламные посты будут удаляться, ненормативная лексика и оскорбительные высказывания запрещаются.