Условные комментарии — это правило, специфичное для Microsoft IE, и они не являются частью какого-либо стандарта. Если вы проверите структуру условного комментария:
<!--[if gt IE 7]>
Here is some code.
<![endif]-->
Как следует из названия, это всего лишь большой комментарий <!-- comment -->
. IE проверяет комментарии на наличие таких условий, которые, опять же, не соответствуют стандартам HTML.
Чтобы создать код, который не отображается в IE, но отображается в других браузерах, вы используете следующее условие:
<!--[if !IE]> -->
This will be rendered by anything but IE.
<!-- <![endif]-->
Видите, как условия заключены в закрытые комментарии? Вот почему это отображается в обычных браузерах, в то время как IE проверяет условность и решает опустить все до endif
.
РЕДАКТИРОВАТЬ
Если вы хотите добавить еще одно условие и продолжать отображать код в браузерах, отличных от IE, вы можете использовать следующий обходной путь:
<!--[if gt IE 7]> <!-- -->
Here is some code for anything but IE 7 and below.
<!-- <![endif]-->
Обратите внимание, что мне пришлось снова открыть комментарий, чтобы IE не отображал -->
перед кодом. Другие браузеры по-прежнему будут считать это частью комментария.
person
zebasz
schedule
15.04.2012