Я использую следующий условный оператор IE для загрузки специфичной для IE таблицы стилей. Заявление работает в IE 7, 8 и 9 Compatibility View. Однако, когда я просматривал страницу в обычном IE 9, страница была пустой. Я проверил его в инструментах разработчика, и кажется, что условное выражение никогда не закрывается, эффективно комментируя остальную часть страницы.
<!--[if lt IE 9]><link xmlns="" rel="stylesheet" href="http://colum.edu/Site_Files/localist/css/ie.css" /><[endif]-->
После приличной стрижки волос я наконец понял, что если я добавлю пробел перед скобками для условного комментария, этот комментарий будет работать в IE 9:
<!-- [if lt IE 9]><link xmlns="" rel="stylesheet" href="http://colum.edu/Site_Files/localist/css/ie.css" /><[endif]-->
Разница лишь в том, что между комментарием и условным выражением есть пробел ...
<!--[if lt IE 9]> vs <!-- [if lt IE 9]>
Я не могу понять, почему на земле это происходит. Опять же, это происходит только в «Режим браузера: IE9», а не «Режим браузера: представление совместимости IE9» с «Режимом документа: стандарты IE9». (Я понимаю, что самое простое решение - это добавить пространство. Однако реальная страница живет в размещенной службе, и я ограничен в том, что могу редактировать.) В любом случае, вот несколько примеров:
Не работает: http://dev.ashramcreative.com/ccc/localist/ie9.html
Рабочая: http://dev.ashramcreative.com/ccc/localist/ie9-space.html