VML(Vector Markup Language)
是一個最初由Microsoft開發的XML詞表,現在也只有IE5.0以上版本對VML提供支援。使用VML可以在IE中繪製向量圖形,所以有人認為VML就是在IE中實現了畫筆的功能。下面介紹一下VML的優點:
基於XML標準
XML是公認擁有無窮生命力的下一代網路標記語言, VML具有先天的優勢,它的表示方法簡單,易於擴充等等。
支援高品質的向量圖形顯示
VML支援廣泛的向量圖形特徵,它們基於由相串連的直線和曲線描述路徑。在VML中使用兩個基本的元素:shape和group。這兩個元素定義了VML的全部結構;shape描述一個向量圖形元素,而group用來將這些圖形結合起來,這樣它們可以作為一個整體進行處理。
VML規範包括大量的支援多種不同向量圖形特徵的元素。下面是VML的預定義圖形元素:
l Shape
l Path
l Line
l Polyline
l Curve
l Rect
l Roundrect
l Oval
l Arc
l Group
由文本構成的映像,並可整合到HTML
由於VML使用簡單的文本來表示映像,這樣就可用很少的位元組來表示比較複雜的映像。VML與HTML相容,通過在HTML中聲明VML命名空間並聲明處理函數,就可以和其他HTML元素一樣使用VML元素,在用戶端瀏覽器顯示映像。VML標記裡面可以定義DHTML大部分屬性和事件,比如說id, name, title, onmouseover 等等。
支援互動與動畫
但VML的功能不只是繪圖,他還可以在圖形中嵌入文本,並可實現超鏈,還可通過指令碼語言實現一定的動畫功能。
VML是The Vector Markup Language的縮寫。
參考網站
MSDN:http://msdn.microsoft.com/workshop/author/vml/shape/introduction.asp
W3C:http://www.w3.org/TR/NOTE-VML
首先需要在 標籤中加上如下引用
xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"> ... |
如果沒有您沒有用到OFFICE的擴充功能的話,您可以忽略第二個schema。
同時,您需要在STYLE元素中註冊VML和Microsoft Office Extensions
v\:* { behavior: url(#default#VML); } o\:* { behavior: url(#default#VML); } |
如果沒有您沒有用到OFFICE的擴充功能的話,您可以忽略第二個樣式的定義。
下面說說常用的幾個元素
1.Shape元素
用法:
它的常用屬性:
FillColor:圖象填充色。
標籤文法:
指令碼文法:
element.fillcolor="expression"
expression=element.fillcolor
Path:指定繪畫的路徑
指令碼用法:
fillcolor="red" strokecolor="red"
coordorigin="0 0" coordsize="200 200"
style="position:relative;top:1;left:1;width:20;height:20"
path="m 1,1 l 1,200, 200,200, 200,1 x e">
說明:用字母m(moveto命令)定義圖象初始點的座標,例子中為(1,1)
用字母l(小寫L字母,lineto命令)開始畫線,先畫到(1,200),再畫到(200,200),再畫到(200,1)
用字母x(close命令)關閉線條
用字母e(end命令)結束
注意:每兩個數字組成一個座標
Title:滑鼠移動到圖象上時的提示文字
Style:圖象的樣式
Filled:決定閉合路徑中是否需要填充(True/False)
StrokeColor:圖象路徑的顏色
2.Shape元素有效子項目
TextBox:在圖象中定義一個文字框
用法:
VML
TextPath:設定文字路徑,要使用該屬性,path屬性的TextPathOK一定要為true;並且TextPath的on屬性要為true
詳細說明文擋請上參考網站查閱!!!
簡單的例子:
xmlns:o="urn:schemas-microsoft-com:office:office">
VML Sample
fillcolor="green" style="position:relative;top:1;left:1;width:200;height:200" path = "m 1,1 l 1,250, 250,500, 500,500, 500,250, 250, 1 x e" title="test" strokeColor="yellow">
VML
|