Как я могу использовать VML на веб-странице? - PullRequest
2 голосов
/ 27 июня 2011

Я хотел использовать 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>

Ответы [ 3 ]

2 голосов
/ 11 апреля 2012
 <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>
1 голос
/ 27 июня 2011

Я настоятельно рекомендую не использовать VML.

VML поддерживается только в IE.Вместо этого все другие браузеры поддерживают SVG, и даже в IE IE9 теперь поддерживает SVG и эффективно поддерживает только VML как устаревшую функцию.

Конечно, это не поможет, если вы пытаетесь поддерживать версию IE8 и ранее, так как они имеют только VML, а не SVG.Тем не менее, существует ряд библиотек Javascript, которые позволяют вам работать с SVG и на лету преобразуют в VML для IE, что означает, что из вас, использующих SVG, вы можете написать код, который работает во всех браузерах.

Лучшая из этих библиотек - Рафаэль .Это настоящая межбраузерная библиотека векторной графики, по умолчанию SVG, но с отступлением от VML, где это необходимо, и покрытие всех несоответствий браузера с помощью согласованного набора инструментов, полностью прозрачного как для вас, так и для разработчика.

Другая библиотека, которую следует рассмотреть, - SVG2VML .Есть и ряд других, которые можно найти, немного погуглив.

Надеюсь, это поможет.

1 голос
/ 27 июня 2011

VML изменен в IE8: Изменения в VML для IE8

...