Я — эксперт в области разработки веб-приложений и безопасности в интернете. Каждый месяц мой блог посещают около 90 тысяч человек. Работаю техническим директором в «Системах документооборота», занимаюсь электронным правительством.

<html>
<head>
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>
<style type="text/css">
.vml {
behavior: url(#default#VML);
-ms-behavior: url(#default#VML);
font: 12px Tahoma, sans-serif;
}
#bar1 {
width: 400px;
height: 60px;
color: white;
padding: 12px;
display: block;
}
#bar2 {
width: 20px;
height: 22px;
padding: 12px;
color: white;
position:absolute;
}
</style>
</head>
<body>
<v:roundrect class="vml" id="bar1" fillcolor="navy" strokecolor="navy" strokeweight="1px" arcsize="0.1">
Привет, ребята из W3C! Отсталый Internet Explorer уже много-много лет умеет смешивать векторный язык и
HTML, а в 2010 году не все продвинутые браузеры так умеют.
<v:shadow class="vml" on="true" opacity="0.3" color="navy" offset="7px,5px" />
</v:roundrect>
<v:shape class="vml" id="bar2"
fillcolor="red" strokecolor="red"
coordorigin="0 0" coordsize="200 200"
path="m 1,1 l 800,1, 800,400, 1800,400, 1800,1500, 1,1500, x e">
<v:shadow class="vml" on="true" opacity="0.3" color="red" offset="7px,5px" />
<p>Привет<br />ещё раз!</p>
<p>Вы знаете, уже Internet Explorer 5.0 умеет делать непрямоугольные блоки.</p>
<p>Причём, делает это непринуждённо.</p>
</v:shape>
</body>
</html>
Что IE умеет круче ещё с пятой версии.The format of a percentage value is an optional sign character ('+' or '-', with '+' being the default) immediately followed by a number (with or without a decimal point) immediately followed by '%'.CSS1, раздел 6.2, проценты могут быть указаны с десятичной точкой. Мне кажется, это означает, что я могу указать дробные проценты и всё будет хорошо. Во всех браузерах так и есть. Во всех, кроме «Оперы». Самая распоследняя «Опера» округлит их вниз.
.gallery li:not(:target) ~ li:last-child a {
background: #fff;
color: #000;
}
.gallery li:target ~ li:last-child a {
background: #aaa;
background: rgba(170, 170, 170, 0.5);
color: #fff;
}
Несложно же. «Опера» и «Файерфокс» чудесно с этим справляются, почему бы и нет, все селекторы им знакомы. Но это не работает в «Хроме» и «Сафари» (5-й «Сафари» я ещё не тестировал), точнее, это работает, но глючит — срабатывает только на следующем элементе, а не каждом. Чтобы исправить проблему, мне пришлось изобрести CSS hack для «Safari» и Chrome.<!--[if VML]> Код VML <![endif]-->
Во-вторых, начиная с Windows 7, в браузере условными комментариями можно проверить версию операционной системы, так же как это делается с версией браузера, константы для проверки перечислены в таблице на сайте «Микрософт».<!--[if WindowsEdition]> Это Windows 7 или старше <![endif] -->В-третьих, если вы автор какого-то плагина, можно добавить возможность проверки версии плагина и его наличия в условные комментарии. Для этого нужно поместить его версию и название в ветку реестра HKEY_LOCAL_MACHINE → Software → Microsoft → Internet Explorer → Version Vector → MyPlugin = 0.5.<!--[if gte MyPlugn 1.2]> Мой плагин версии 1.2 и выше <![endif] -->
Этот же способ позволяет изменить версию IE для проверки в conditional comments на любую — достаточно исправить значение «IE» в указанной ветки реестра и перезапустить браузер.<!--[if (IE 7) | (WindowsEdition)]> Это IE7 или любой IE на Windows 7 и выше <![endif] -->
<!--[if (gte IE 6) & (lt IE 9)]> Это IE6-8 <![endif] -->
@_jscript_version statement is actually an indicator of which version of JScript is in use by the browser as a whole. In ALL document modes of IE9, this statement currently equates to “9”. In ALL document modes of IE8 it equates to “5.8” and in IE7 it is “5.7”Отсюда вывод:
/*@cc_on
@if( @_jscript_version == 5.8 )
// Это полюбому IE 8
...
@end
@*/
То есть (перевожу) «@_jscript_version» в IE8 всегда равно «5.8», в IE7 — «5.7» , а в IE9 — «9».