SVG:
viewBox是SVG的虚坐标系,比VML的简单不少。
如:
<svg width="100px" height="100px" viewBox="0 0 300 300">
<g>
<rect x="5" y="15" width="200" height="200"/>
</g>
</svg>
在100x100的svg区域中,放入一个200x200的方块,按理不能正常显示,会被裁去一部分。但是因为加入了viewBox属性,svg区域会完整显示rect。可以理解为在svg中加入一个新坐标系,按上例把svg划分为300x300份,rect占用200x200份,而不是像素,实际图形会缩放或拉伸。
VML:
coordsize和coordorigin设定VML的虚坐标系,一般放置于v:group元素内,也常用于v:shape等。前一个决定把实际的像素区域划分为多少份,后一个决定原点的位置。
<v:group style="position:relative;width:200px;height:200px;" coordsize= "100,1000">
<v:rect style="WIDTH:20px;HEIGHT:500px" fillcolor="#000000">
</v:group>
在200x200px的区域内,出现了一个40x100px的黑块,因为coordsize的出现,ie忽略了px单位,rect仍然按coordsize划分的份。VML默认以左上为(0,0)原点,在上面的例子加入coordorigin,可以指定原点,黑块的位置也会改变。
v:group 就相当于是svg