Как вы получаете "IE 6 условных комментариев" работает? - PullRequest
0 голосов
/ 12 декабря 2010

У меня есть эта разметка, которая отлично работает:

<div id="hd1" class="header headerNotIE6">

Сейчас я пытаюсь установить обходной путь для ie6, поэтому я пытаюсь использовать этот div только в том случае, если браузер не IE 6. Поэтому я хочу, чтобы эта строка отображалась, если в ней IE7, 8 и firefox и chrome. Я попробовал это, но, похоже, это не работает в Firefox или Chrome.

<!--[if !(IE 6)]>
    <div id="hd1" class="header headerNotIE6">
<![endif]-->

есть ли условный комментарий "если все, кроме IE6", который работает в html-файле ??

Ответы [ 2 ]

3 голосов
/ 12 декабря 2010

Чтобы настроить таргетинг на любой IE, кроме IE6, вы используете оператор !:

<!--[if !IE 6]>
    <div id="hd1" class="header headerNotIE6">
<![endif]-->

Для таргетинга любого IE, кроме IE6 , а также всех других браузеров , вам нужен специальный синтаксисчтобы вырваться из условных комментариев, чтобы другие браузеры могли читать и анализировать HTML внутри, вместо того, чтобы рассматривать весь блок как один комментарий:

<!--[if !IE 6]><!-->
    <div id="hd1" class="header headerNotIE6">
<!--<![endif]-->

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

0 голосов
/ 12 декабря 2010

Что вам нужно использовать, это

<![if !IE 6]>
  <div id="hd1" class="header headerNotIE6">
<![endif]>

Браузеры, отличные от IE, видят <!--[if !IE 6]><div id="hd1" class="header headerNotIE6"><![endif]--> как обычный комментарий, поэтому они никогда не увидят divвнутри.

...