El elemento VML no se muestra en modo conforme a estándares estrictos en Internet Explorer 9

Advertencia

Se ha programado la deshabilitación permanente de la aplicación de escritorio retirada y sin soporte de Internet Explorer 11 a través de una actualización de Microsoft Edge en ciertas versiones de Windows 10. Para obtener más información, consulte Preguntas frecuentes sobre la retirada de la aplicación de escritorio de Internet Explorer 11.

Un elemento lenguaje de marcado vectorial (VML) no se muestra en modo conforme a estándares estrictos 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 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 conforme a estándares estrictos.
  • Quite el !DOCTYPE elemento .

Para obtener más información sobre el modo conforme a 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>