Это полностью действительный , чтобы сделать
<!-- this, -->
<!DOCTYPE html>
Тем не менее, переводит все версии IE в режим quirks (если только принудительно не переходит в режим без quirks - см. раздел Gotchas ниже). Самое простое - переместить комментарий под DOCTYPE.
<!DOCTYPE html>
<!-- this, -->
Но еще один способ - «обновить» комментарий в подходящий условный комментарий, такой как этот:
<!--[if !IE]> this <![endif]-->
<!DOCTYPE html>
Объяснение: a условный комментарий не считается комментарием в мире IE.
Альтернативный синтаксис: Чтобы забыть / запомнить, что условные комментарии являются вторжением Microsoft в стандарт HTML, можно, например, сделать
<!--[if anybrowser]> this <![endif]-->
<!DOCTYPE html>
Аналогично, для целевой IE, в частности, можно сделать
<!--[if !anybrowser]> this <![endif]-->
<!DOCTYPE html>
Gotchas
Комментарий внутри условного комментария переведет IE в режим quirks , если IE видит его (то есть: , если , то используется [ если IE] условие или эквивалент [if IE] - такой как [if! anybrowser] условие, которое я упоминал выше.). Так, например, это привело бы IE в режим quirks:
<![if IE]><!-- this --><![endif]>
<!DOCTYPE html>
Как бы
<!--[if IE]><!--><!-- this <![endif]-->
<!DOCTYPE html>
и многие другие варианты. Тогда как, например,
<!--[if IE]><!DOCTYPE html><!--><!-- this <![endif]-->
<!DOCTYPE html>
будет не вызывать режим quirks, потому что здесь условный комментарий имеет DOCTYPE перед любым другим контентом и, следовательно, IE считает, что первое содержимое страницы является DOCTYPE.
Наконец, новейшие версии IE, IE8 и IE9 , могут быть принудительно переведены в стандартный режим (а также в режим причуда) с помощью другого изобретения Microsoft - директива x-ua-совместимая . См. http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx В этом случае, тогда
<!-- this -->
<!DOCTYPE html>
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=8" ><![endif]-->
переведет в IE8 и IE9 в режим no-quirks , а IE6 и IE7 останутся в режиме quirks . Тогда как, напротив, это
<!--[if gte IE 8]><meta http-equiv="X-UA-Compatible" content="IE=8" ><![endif]-->
<!DOCTYPE html>
приведет к принудительному IE8 и IE9 в стандартный режим, несмотря на , что содержание условного комментария не начинается с DOCTYPE. И IE6, и IE7 также останутся в режиме отсутствия причуд, так как условный комментарий не нацелен на них.