VML的基本概念
更新時(shí)間:2006年12月24日 00:00:00 作者:
VML相當(dāng)于IE里面的畫筆,能實(shí)現(xiàn)你所想要的圖形,而且結(jié)合腳本,可以讓圖形產(chǎn)生動(dòng)態(tài)的效果。VML是微軟1999年9月附帶IE5.0發(fā)布的,在我認(rèn)為, VML其實(shí)是Word和HTML結(jié)合的產(chǎn)物。可以將Word文檔另存為HTML,其中的文本和圖片可以很容易的轉(zhuǎn)換,但如果是手繪制的圖形在以往的IE里面就無(wú)法解釋了,如果都轉(zhuǎn)換成圖形文件又不太現(xiàn)實(shí)。于是微軟把Word里面的圖形控件結(jié)合到IE里面,使IE也具備了繪圖功能。
VML的全稱是Vector Markup Language(矢量可標(biāo)記語(yǔ)言),矢量的圖形,意味著圖形可以任意放大縮小而不損失圖形的質(zhì)量,這在制作地圖上有很大用途。為了顯示它的強(qiáng)大,和增加你學(xué)習(xí)VML的信心,先給你看看一個(gè)VML例子:
Hello world!
Hello VML!
在VML里面,標(biāo)記使用的是XML擴(kuò)張,需要一個(gè)namespace(命名空間),你可以使用慣用的“v”作為命名空間,使用IE5.0到IE6.0通用的定義如下:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<STYLE>
v\:* { Behavior: url(#default#VML) }
</STYLE>
xmlns 全稱就是XML NameSpace 也就是命名空間。Behavior(行為)也是IE5.0新推出的東西,它的功能非常強(qiáng)大,結(jié)合樣式表,可以給任何HTML對(duì)象增加行為(新的屬性、方法、事件),而在這里,它的用處是把命名空間“v”和系統(tǒng)預(yù)定義的行為VML連接。這樣定義以后,你就可以使用下面的標(biāo)記了,和普通的HTML標(biāo)記有所區(qū)別,每個(gè)標(biāo)記都增加了一個(gè)命名空間:
<v:shape></v:shape>
和其他HTML元素一樣,VML標(biāo)記里面可以定義DHTML大部分屬性和事件,比如說(shuō)id,name,title,onmouseover等等。在寫法上VML比較靈活,很多屬性既可以寫在標(biāo)記里面,又可以獨(dú)立出一個(gè)新的標(biāo)記來(lái)表示:
<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)" StrokeColor=red Path="m 0,0 l 10,10 x e"></v:shape>
等同于下面的寫法:
<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)">
<v:Stroke StrokeColor=red/>
<v:Path v="m 0,0 l 10,10 x e"/>
</v:shape>
當(dāng)然不是所有的屬性都可以寫成獨(dú)立的標(biāo)記,常用的比如說(shuō)上面的 Stroke(按我的理解可以翻譯成線性),Path,Shadow,F(xiàn)ill(填充)等,VML這樣的方式可以理解為 shape 的屬性分類,使屬性更直觀。
Shape 對(duì)象派生出來(lái)的一些對(duì)象,更加直接的圖象,比如說(shuō) Rect(矩形),RoundRect(圓邊的矩形),Oval(圓),Line(線),PolyLine(不規(guī)則折線),Image(圖形文件)等等,以后將對(duì)這些對(duì)象細(xì)細(xì)描述。
VML的全稱是Vector Markup Language(矢量可標(biāo)記語(yǔ)言),矢量的圖形,意味著圖形可以任意放大縮小而不損失圖形的質(zhì)量,這在制作地圖上有很大用途。為了顯示它的強(qiáng)大,和增加你學(xué)習(xí)VML的信心,先給你看看一個(gè)VML例子:
Hello VML!
在VML里面,標(biāo)記使用的是XML擴(kuò)張,需要一個(gè)namespace(命名空間),你可以使用慣用的“v”作為命名空間,使用IE5.0到IE6.0通用的定義如下:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<STYLE>
v\:* { Behavior: url(#default#VML) }
</STYLE>
xmlns 全稱就是XML NameSpace 也就是命名空間。Behavior(行為)也是IE5.0新推出的東西,它的功能非常強(qiáng)大,結(jié)合樣式表,可以給任何HTML對(duì)象增加行為(新的屬性、方法、事件),而在這里,它的用處是把命名空間“v”和系統(tǒng)預(yù)定義的行為VML連接。這樣定義以后,你就可以使用下面的標(biāo)記了,和普通的HTML標(biāo)記有所區(qū)別,每個(gè)標(biāo)記都增加了一個(gè)命名空間:
<v:shape></v:shape>
和其他HTML元素一樣,VML標(biāo)記里面可以定義DHTML大部分屬性和事件,比如說(shuō)id,name,title,onmouseover等等。在寫法上VML比較靈活,很多屬性既可以寫在標(biāo)記里面,又可以獨(dú)立出一個(gè)新的標(biāo)記來(lái)表示:
<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)" StrokeColor=red Path="m 0,0 l 10,10 x e"></v:shape>
等同于下面的寫法:
<v:shape id=shape1 name=shape1 onmouseover="alert(this.id)">
<v:Stroke StrokeColor=red/>
<v:Path v="m 0,0 l 10,10 x e"/>
</v:shape>
當(dāng)然不是所有的屬性都可以寫成獨(dú)立的標(biāo)記,常用的比如說(shuō)上面的 Stroke(按我的理解可以翻譯成線性),Path,Shadow,F(xiàn)ill(填充)等,VML這樣的方式可以理解為 shape 的屬性分類,使屬性更直觀。
Shape 對(duì)象派生出來(lái)的一些對(duì)象,更加直接的圖象,比如說(shuō) Rect(矩形),RoundRect(圓邊的矩形),Oval(圓),Line(線),PolyLine(不規(guī)則折線),Image(圖形文件)等等,以后將對(duì)這些對(duì)象細(xì)細(xì)描述。
相關(guān)文章
建立WEB兩大經(jīng)典!《VML極道教程》+FlashVml(閃耀之星)3.0中/英文版聯(lián)合發(fā)布!
建立WEB兩大經(jīng)典!《VML極道教程》+FlashVml(閃耀之星)3.0中/英文版聯(lián)合發(fā)布!...2006-12-12