【SVG专题】SVG坐标系统
本文介绍SVG坐标定位。
对于所有元素,SVG 使用的坐标系统或者说网格系统,和 Canvas 用的差不多(所有计算机绘图都差不多)。这种坐标系统是:以页面的左上角为 (0,0) 坐标点,坐标以像素为单位,x 轴正方向是向右,y 轴正方向是向下。注意,这和你小时候所学的数学坐标系是相反的。但是在 HTML 文档中,元素都是用这种方式定位的。
用户单位和屏幕单位的映射关系被称为用户坐标系统。除了缩放之外,坐标系统还可以旋转、倾斜、翻转。

- 示例一
1 | <svg width="100" height="100"> |
上面的元素定义了一个 100*100px 的 SVG 画布,这里 1 用户单位等同于 1 屏幕单位。
- 示例二
1
2
3<svg width="200" height="200" viewBox="0 0 100 100">
<!-- more -->
</svg>
这里定义的画布尺寸是 200200px。但是,viewBox 属性定义了画布上可以显示的区域:从 (0,0) 点开始,100 宽100 高的区域。这个 100100 的区域,会放到 200200 的画布上显示。于是就形成了放大两倍的效果。