VML是The Vector Markup Language(矢量可标记语言)的缩写。
什么是vml? VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的, VML也可以说是Word和HTML结合的产物。可以将Word文档另存为HTML,其中的文本和图片可以很容易的转换,但如果是手绘制的图形在以往的IE里面就无法解释了,如果都转换成图形文件又不太现实。于是微软把Word里面的图形控件结合到IE里面,使IE也具备了绘图功能。
最初由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 在firefox下是不被支持的,所以在用VML的时候要注意选用的浏览器!!
只能在IE浏览器或以IE为内核的浏览器才能用VML。
更多介绍跳转到:http://www.cnblogs.com/lhb25/archive/2009/02/28/1400253.html
应用示例(测试通过)自http://support.microsoft.com/kb/932175/zh-cn:
<?xml version="1.1" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:vml="urn:schemas-microsoft-com:vml">
<head>
<title>VML Oval</title>
<style type="text/css">
vml\:* {
behavior: url(#default#VML);
}
</style>
</head>
<body>
<h1>VML Oval</h1>
<div>
<vml:oval style="width:100pt;height:50pt" fillcolor="red">
</vml:oval>
<vml:RoundRect style="position:relative;width:120;height:50px">
<vml:shadow on="T" type="single" color="#b3b3b3" offset="5px,5px"/>
<vml:TextBox inset="5pt,5pt,5pt,5pt" style="font-size:10.2pt;">Hello world!</vml:TextBox>
</vml:RoundRect>
</div>
</body>
</html>