インターネット エクスプローラー 9 では、厳密な標準準拠モードで VML 要素が表示されない

警告

廃止され、サポート対象外となった Internet Explorer 11 デスクトップ アプリケーションは、特定のバージョンの Windows 10 で Microsoft Edge の更新プログラムを通じて完全に無効になります。 詳細については、「Internet Explorer 11 デスクトップ アプリの廃止に関する FAQ」をご覧ください。

HTML ページでインターネット エクスプローラー 9 の要素を使用!DOCTYPEする場合、ベクター マークアップ言語 (VML) 要素は厳密な標準準拠モードでは表示されません。

元の製品バージョン: Internet Explorer 9
元の KB 番号: 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>