При написании HTML-кода сайта приходится учитывать тот факт, что каждый из браузеров имеет свои особенности при обработке HTML, CSS, JavaScript. В особенности это касается Internet Explorer, который отличает своебразным трактованием стандартов и несколько экстравагантным подходом к обеспечению совместимости с другими браузерами. Существует несколько различных способов обойти ошибки IE - css-хаки, определение версии браузера в JavaScript-коде, но они имеют свои недостатки - css-хак может в любой момент перестать работать при обновлении или выходе следующей версии IE.
Разработчики IE реализовали свой вариант включения участков кода, который будет исполняться только в IE - условные комментарии.Условный комментарий - специальная конструкция, которая обрабатывается и выполняется только браузером Internet Explorer, не совместима с каким-либо другими браузерами и не описана ни в одной из версий стандарта HTML.
В общем случае условный комментарий имеет следующий вид:
<!-- [if CONDITION]>
Код, который нужен для IE.
<![endif]-->
Здесь CONDITION - логическое условие, которое будет обработано IE и если оно будет истинно, то код, размещенный внутри условного комментария будет выполнен.
Пример условия:
<!-- [if IE]> ....... <![endif]--> - условие будет истинно, если браузер - Internet Explorer.
Условные комментарии позволяют также задать версию браузера, для которой нужно выполнить код:
Основные преимущества использования условных комментариев: можно реализовать код специально для Internet Explorer, не влияющий на отображение и функциональность страницы в других браузерах.
Основные недостатки использования условных комментариев: код не совместим со стандартами.