2

VML を使用して IE で図形を描画したかったのですが、次のコードを思いつきましたが、IE8 では何も表示されません。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style>v\: * { behavior:url(#default#VML); display:inline-block }</style>
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v" />
</head>

<body>
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>
<object id="VMLRender" codebase="vgx.dll" classid="CLSID:10072CEC-8CC1-11D1-986E-00A0C955B42E">
</object> 

<v:rect style="width: 1in; height: 1in; left: 0.5in; top: 6in; rotation:0deg" fillcolor="#ffff00" strokecolor="#ff0000"/> 
</body>
</html>
4

3 に答える 3

2
 <html xmlns:v="urn:schemas-microsoft-com:vml">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=5" />    
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Untitled Document</title>
        <style>v\: * { behavior:url(#default#VML); }</style>
    </head>
    <body>
        <v:rect style="width: 1in; height: 1in; left: 0.5in; top: 6in; rotation:0deg" fillcolor="#ffff00" strokecolor="#ff0000"/> 
    </body>
    </html>
于 2012-04-11T08:49:58.333 に答える
2

IE8で変更された VML : IE8の VML の変更点

于 2011-06-27T09:47:27.807 に答える
1

VML を使用しないことを強くお勧めします。

VML は IE でのみサポートされています。他のすべてのブラウザーは代わりに SVG をサポートし、IE でも IE9 は SVG をサポートするようになり、レガシー機能として VML のみを効果的にサポートします。

もちろん、IE バージョン 8 以前をサポートしようとしている場合、SVG ではなく VML しかないため、これは役に立ちません。ただし、SVG を操作できる Javascript ライブラリが多数あり、その場で IE 用の VML に変換されます。つまり、SVG を使用すると、すべてのブラウザで動作するコードを記述できます。

これらのライブラリの中で最高のものはRaphaelです。これは真のクロスブラウザー ベクター グラフィックス ライブラリであり、デフォルトは SVG ですが、必要に応じて VML にフォールバックし、一貫したツール セットですべてのブラウザーの矛盾をカバーし、開発者とユーザーの両方に対して完全に透過的です。

考慮すべき別のライブラリはSVG2VMLです。ちょっとググれば他にもたくさんあります。

それが役立つことを願っています。

于 2011-06-27T10:01:52.023 に答える