Условные комментарии
Любой текст в коде HTML можно закомментировать и при этом он никак не будет отображаться на веб-странице. Для этого его следует поместить между элементами <!-- и -->. Браузер Internet Explorer кроме того поддерживает специальный синтаксис, в задачу которого входит интерпретировать код, если перед нами Internet Explorer. Остальные браузеры при этом видят обычный комментарий и не отображают его.
<!--[if IE]>
Код для браузера Internet Explorer
<![endif]-->
Внутри квадратных скобок допустимо использовать следующие ключевые слова:
- IE — любая версия браузера Internet Explorer;
- IE 6 — Internet Explorer 6;
- IE 7 — Internet Explorer 7;
- IE 8 — Internet Explorer 8;
- IE 9 — Internet Explorer 9;
- lt — номер версии браузера меньше указанной;
- gt — номер версии больше указанной;
- lte — номер версии меньше или равен указанной;
- gte — номер версии браузера больше или равен указанной.
В примере 1 приведен стиль для всех браузеров Internet Explorer до версии 7.0 включительно.
Пример 1. Стиль для браузера Internet Explorer
XHTML 1.0CSS 2.1IE 6IE 7IE 8+CrOpSaFx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Хаки</title>
<style type="text/css">
DIV {
color: orange; /* Для всех браузеров, кроме IE */
}
</style>
<!--[if lte IE 7]>
<style type="text/css">
DIV {
color: green; /* Для браузера Internet Explorer */
}
</style>
<![endif]-->
</head>
<body>
<div>Lorem ipsum dolor sit amet...</div>
</body>
</html>
В CSS применяется свой синтаксис комментариев вида /* */, поэтому условными комментариями приходится обособлять отдельный контейнер <style>. В данном примере в браузере IE 7 цвет текста будет зеленым, а в остальных браузерах оранжевым.