欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VML的基本概念

程序员文章站 2024-02-15 12:48:22
vml相当于ie里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。vml是微软1999年9月附带ie5.0发布的,在我认为, vml其实是word和...
vml相当于ie里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。vml是微软1999年9月附带ie5.0发布的,在我认为, vml其实是word和html结合的产物。可以将word文档另存为html,其中的文本和图片可以很容易的转换,但如果是手绘制的图形在以往的ie里面就无法解释了,如果都转换成图形文件又不太现实。于是微软把word里面的图形控件结合到ie里面,使ie也具备了绘图功能。
    vml的全称是vector markup language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途。为了显示它的强大,和增加你学习vml的信心,先给你看看一个vml例子:

hello world!
hello vml!


    在vml里面,标记使用的是xml扩张,需要一个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新推出的东西,它的功能非常强大,结合样式表,可以给任何html对象增加行为(新的属性、方法、事件),而在这里,它的用处是把命名空间“v”和系统预定义的行为vml连接。这样定义以后,你就可以使用下面的标记了,和普通的html标记有所区别,每个标记都增加了一个命名空间:

<v:shape></v:shape>

    和其他html元素一样,vml标记里面可以定义dhtml大部分属性和事件,比如说id,name,title,onmouseover等等。在写法上vml比较灵活,很多属性既可以写在标记里面,又可以独立出一个新的标记来表示:

<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>

    当然不是所有的属性都可以写成独立的标记,常用的比如说上面的 stroke(按我的理解可以翻译成线性),path,shadow,fill(填充)等,vml这样的方式可以理解为 shape 的属性分类,使属性更直观。
    shape 对象派生出来的一些对象,更加直接的图象,比如说 rect(矩形),roundrect(圆边的矩形),oval(圆),line(线),polyline(不规则折线),image(图形文件)等等,以后将对这些对象细细描述。
相关标签: VML的基本概念