2010-10-07 60 views
5

我希望能夠使用標準模式而不是怪癖模式渲染頁面上的vml對象。我已經找到了散佈在周圍的答案碎片,但無法弄清楚。 Raphael以某種方式拉它,但我不能扭轉它找出發生了什麼。任何基本的工作示例都會很棒。如何讓VML在標準模式下工作?

回答

7

我想我已經想通了。第1步是通過JavaScript導入vml命名空間。

document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML"); 

這得到了一些隨機的vml樣本工作在怪癖模式,但不是標準。他們的關鍵是元素需要一個單位進行測量,如果沒有提供單位,怪異模式將假定px。雖然線條顯然不需要這部分,但形狀也必須使用position:absolute;進行樣式設計。

下面是一個帶有兩個橢圓的樣本。兩個橢圓都會以怪癖模式渲染,但藍色橢圓不會以標準模式顯示。

<!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></head> 
<body> 
    <script> 
     document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML"); 
    </script> 
    <v:oval style="width: 100; height: 50" fillcolor="blue"></v:oval> 
    <v:oval style="position: absolute; width: 100px; height: 50px" fillcolor="green"></v:oval> 
</body> 
</html> 
0

爲什麼不簡單地使用Raphael本身而不是使用原始VML?拉斐爾家族在製作幾乎無處不在的標準圖書館方面做得非常出色 - 利用他們的辛勤工作。

+0

我有一個現有的項目,有很多vml工作在怪癖模式。我想知道如何更改頁面模式,而不是將所有vml替換爲raphael調用。 – lincolnk 2010-10-07 20:06:33

相關問題