El elemento VML no se muestra en el modo estricto conforme a los estándares de Internet Explorer 9

Un elemento de lenguaje de marcado de vectores (VML) no se muestra en el modo estricto conforme a los estándares cuando una página HTML usa el !DOCTYPE elemento en Internet Explorer 9.

Versión del producto original:   Internet Explorer 9
Número de KB original:   932175

Solución

Para resolver este problema, establezca el estilo VML en con display:inline-block el código siguiente:

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

Más información

El elemento VML se muestra correctamente si comprueba lo siguiente:

  • No use el modo compatible con estándares estrictos.
  • Quite el !DOCTYPE elemento.

Para obtener más información acerca del modo compatible con estándares estrictos, consulte DOCTYPE.

Para reproducir este problema, use la página siguiente:

<?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>