El elemento VML no se muestra en modo estricto compatible con estándares en Internet Explorer 9

Importante

La aplicación de escritorio Internet Explorer 11 está retirada y sin soporte a partir del 15 de junio de 2022 para determinadas versiones de Windows 10.

Todavía puede acceder a sitios antiguos heredados que requieren Internet Explorer con el modo Internet Explorer en Microsoft Edge. Obtenga más información.

La aplicación de escritorio Internet Explorer 11 se redirigirá progresivamente al explorador Microsoft Edge, más rápido y seguro. En última instancia, se deshabilitará a través de Windows Update. Deshabilite IE hoy.

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

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

Solución

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

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

Más información

El elemento VML se muestra correctamente si se asegura de lo siguiente:

  • No use el modo estricto conforme a los estándares.
  • Quite el !DOCTYPE elemento.

Para obtener más información acerca del modo estricto conforme a los estándares, vea 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>