Расставим точки над i по поводу условных комментариев.
Conditional comments (далее condcom)- это просто таки панацея от
горячо всеми любимого браузера Интернет-Эксплорер (Microsoft Internet Explorer), при помощи комментариев можно даже различить
версию эксплорера (от 5 до 7 и даже между 5.0, 5.5 и т.д.) для которой и требуется прописать
особые стили или применить скрипт. Конечно, тема не нова, но все же…
как это выглядит
<!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" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-type" content="application/xhtml+xml; charset=windows-1251" />
<title>test</title>
<link href="sec.css" rel="stylesheet" media="screen" />
<!--[if IE]>
<link href="ie5.css" rel="stylesheet" media="screen" />
<![endif]-->
</head>
<body>
<p>content</p>
</body>
</html>
Можно (но лучше не стоит, всему свое место-стили и html отдельно, зачем нам без повода захламлять код) и никуда не выносить и стили и комментарии, тогда это будет выглядеть так
<!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" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-type" content="application/xhtml+xml; charset=windows-1251" />
<title>test</title>
<!--[if IE]>
<style type="text/css">
body{ background-color:green; color:red;}
</style>
<![endif]-->
<style type="text/css">
body{ background-color:red; color:green;}
</style>
</head>
<body>
<p>content</p>
</body>
</html>
Итак полный перечень комментариев
Для определения принадлежности к той или иной версии браузера используется специальный ситаксис:
- gt больше чем
- gte больше чем или равно
- lt меньше чем
- lte меньше чем или равнo
- ! исключает из комментариев определенную версию браузера
Conditional comments
<!--[if IE]>
Для любой версии Internet Explorer
<![endif]-->
<!--[if IE 5]>
Только для Internet Explorer 5
<![endif]-->
<!--[if IE 5.0]>
Только для Internet Explorer 5.0
<![endif]-->
<!--[if IE 5.5]>
Только для Internet Explorer 5.5
<![endif]-->
<!--[if IE 6]>
Только для Internet Explorer 6
<![endif]-->
<!--[if IE 7]>
Только для Internet Explorer 7
<![endif]-->
<!--[if gte IE 5]>
AТолько для Internet Explorer 5 и версиями выще
<![endif]-->
<!--[if lt IE 6]>
Только для версий ниже чем Internet Explorer6
<![endif]-->
<!--[if lte IE 5.5]>
Только для версий ниже чем или равных Internet Explorer5.5
<![endif]-->
<!--[if gt IE 6]>
Только для версий выше чем Internet Explorer6
<![endif]-->
<!--[if !IE 6]>
Применяется ко всем версиям браузера, кроме 6-й
<![endif]-->
Но все же, не стоит лениться и поискать решение проблемы не прибегая к condcoms.
Весьма фривольный перевод статьи с хорошего сайта quirksmode.org
Labels: browsers, hack