Главная » Полезные статьи » Разное » Условные комментарии для Internet Explorer
Распечатать статью

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

Одной из частых проблем при верстке и дизайне HTML-документов является неправильное отображение страницы различными браузерами или их версиями. И по известным всем причинам браузер Internet Explorer (IE) интерпретирует правила XHTML и CSS не так, как это положено по стандартам. Условные комментарии могут быть использованы для того, чтобы избежать проблем с этим «гадким» браузером.

Обычные HTML-комментарии выглядят следующим образом:

1 <!-- Текст комментария  -->

C помощью них можно оставить важные замечания по особенностям HTML-кода для себя или для других веб-дизайнеров. Такой вид комментариев официально принят в спецификации HTML.

На официальном сайте Майкрософт предложено ещё два вида комментариев: downlevel-hidden и downlevel-revealed. Оба типа комментариев используются для определения версии браузера. Если условие истинно, то содержимое условного комментария интерпретируется браузером как HTML-содержимое.

Тип комментария downlevel-hidden выглядит следующим образом:

1 <!--[if условное выражение]> HTML-содержимое <![endif]-->

Тип комментария downlevel-revealed имеет следующий вид:

1 <![if условное выражение]> HTML-содержимое <![endif]>

Комментарий downlevel-revealed не поддерживается стандартами HTML, так как имеет ошибочный синтаксис в контексте HTML. Поэтому если необходима чистота и безошибочность кода, тогда от использования этого типа условных комментариев лучше отказаться.

Комментарий downlevel-hidden в контексте HTML интерпретируется как обычный комментарий, а условие вычисляется только в IE. Однако если внутри условного комментария будет находиться обычный HTML-комментарий, то это будет синтаксической ошибкой.

Ниже предлагаются условные комментарии типа downlevel-hidden с различными выражениями.

01 <!--[if IE]> только для Internet Explorer <![endif]-->
02 <!--[if IE 7]> только для Internet Explorer версии 7 <![endif]-->
03 <!--[if !IE]> не для Internet Explorer <![endif]-->
04 <!--[if lt IE 6]> для Internet Explorer версий ниже 6 <![endif]-->
05 <!--[if lte IE 6]> для Internet Explorer версий 6 и ниже <![endif]-->
06 <!--[if gt IE 6]> для Internet Explorer версий выше 6 <![endif]-->
07 <!--[if gte IE 6]> для Internet Explorer версий 6 и выше<![endif]-->
08 <!--[if !(IE 7)]> для Internet Explorer любой версии за исключением 7 <![endif]-->
09 <!--[if (gt IE 5)&(lt IE 7)]> для Internet Explorer выше 5 и ниже 7 версии <![endif]-->
10 <!--[if (IE 6)|(IE 7)]> для Internet Explorer 6 или 7 версии <![endif]-->
11 <!--[if true]> для любой версии <![endif]-->
12 <!--[if false]> ни для одной версии <![endif]-->

Операнды в выражениях могут быть любыми из указанных выше, они могут комбинироваться самыми различными способами.

В заключение хочется сказать, что в большинстве случаев можно избежать использования условных комментариев. И это правильно, ведь чем универсальнее правило, тем оно лучше.

Источник:   w3pro.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

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

Похожие статьи