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

 Условные комментарии  — механизм, при помощи которого автор веб-страницы может использовать нестандартные особенности некоторых браузеров, избегая проблем несовместимости с другими браузерами.

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

Условные комментарии это специальная инструкция, которая выполняется в браузерах Internet Explorer (IE) для разных ее версий. Необходимо это для того, чтобы верстка сайта во всех браузерах выглядела одинаково, так как браузер IE во всех своих версия отличается криворукостью отображения верстки не говоря уже о «доисторическом» IE6 (вышел еще аж 2001 году) но в силу некоторых вещей им продолжают пользоваться, во многом это связано с тем, что этот браузер идет по умолчанию в комплектацию к еще достаточно популярной операционной системы Windows XP. Так вот из-за багов, старых версий и возникает несоответствие верстки для современных браузеров и для устаревших.

Из-за возможных различий в отображении браузерами одного и того же кода возникает проблема идентификации браузера и его версии, чтобы «подсунуть» ему персональный код. Браузер IE поддерживает специальную технологию определения версии под названием «Условные комментарии» . Синтаксис их применения следующий.

<!--[if условие]> невидимый HTML-код <![endif]-->
<![if условие]> видимый HTML-код <![endif]>

В первом случае синтаксис схож с обычными комментариями HTML имеющими вид <!-- --> Такая мимикрия обеспечивает валидность кода, поскольку всё, что находится внутри любой браузер кроме IE считает обычным комментарием. Они не выводятся на странице и не интерпретируются как код, поэтому могут содержать любые, даже ошибочные теги и текст.

Во втором случае всё с точностью наоборот, это уже не комментарий, а специфический тег, как его воспринимают браузеры. Поэтому применение указанного синтаксиса приведёт к ошибке валидации кода. Зато IE при соблюдении условий позволяет выводить любой текст и теги.

Во втором случае всё с точностью наоборот, это уже не комментарий, а специфический тег, как его воспринимают браузеры. Поэтому применение указанного синтаксиса приведёт к ошибке валидации кода. Зато IE при соблюдении условий позволяет выводить любой текст и теги.

В силу практичности и соблюдения валидности кода 
в дальнейшем будем включать только синтаксис вида <!--[if условие]> <![endif]-->

(!) Условные комментарии работают только в IE под Windows, для других браузеров они являются обычными комментариями, поэтому их можно безболезненно использовать. Например, можно включить специальные правила CSS, предназначенные для этого браузера:
<!--[if IE]><link rel="stylesheet" type="text/css" href="ie.css"><![endif]-->

Важно знать!  Условные комментарии  для браузера Internet Explorer доступны только до 9 версии включительно. Версия 10-я и все последующие условные комментарии уже не поддерживают!
Считаете информацию полезной? Поделитесь с друзьями в соц. сетях, выскажете свое мнение в комментариях.

Внимание! Остались вопросы после прочтения статьи или есть что сказать? Оставляйте свои комментарии:

► Оставить коментарий:

Гошка Тарасов IE8 видит нормально и меняет фон головы, а вот IE11 и 10 не воспринимают эту систему,почему и как это исправить

Леонид Пивторак (Администратор.)
Поддержка условных комментариев в стандартном режиме и режиме совместимости Internet Explorer 10 была удалена для улучшения взаимодействия и совместимости с HTML5. Это означает, что условные комментарии теперь обрабатываются как обычные комментарии, так же как в других браузерах. Это изменение может повлиять на страницы, написанные специально для Windows Internet Explorer, или страницы, использующие определитель браузера и подстраивающиеся под Internet Explorer.

Страница, использующая условные комментарии, работает нормально в Windows Internet Explorer 9, но не работает в Internet Explorer 10.


Pубрики:


^НАВEPХ^
Любое копирование материала без указания источника Пивторак.рф запрещено!