Элемент VML не отображается в режиме с поддержкой стандартов в Internet Explorer 9

Элемент языка VML не отображается в режиме с поддержкой стандартов, если HTML-страница использует !DOCTYPE элемент в Internet Explorer 9.

Исходная версия продукта:   Internet Explorer 9
Исходный номер статьи базы знаний:   932175

Решение

Чтобы устранить эту проблему, присвойте стилю VML значение display:inline-block , используя следующий код:

vml\:* {
behavior: url(#default#VML);display:inline-block
}

Дополнительная информация

Элемент VML отображается правильно при наличии следующих условий:

  • Не используйте режим с поддержкой стандартов.
  • Удалите !DOCTYPE элемент.

Для получения дополнительных сведений о режиме совместимости с жестким стандартом в разделе DOCTYPE.

Чтобы воспроизвести эту проблему, используйте следующую страницу:

<?xml version="1.1" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="en"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:vml="urn:schemas-microsoft-com:vml">
    <head>
        <title>VML Oval</title>
        <style type="text/css">
vml\:*
{
behavior: url(#default#VML);
}
</style>
    </head>
    <body>
        <h1>VML Oval</h1>
        <div>
            <vml:oval style="width:100pt;height:50pt" fillcolor="red"></vml:oval>
        </div>
    </body>
</html>