《svg精髓》学习笔记(坐标系统)

在网页中使用svg

  • 将svg作为图像:使用img元素包含svg文件

  • 将svg作为css背景:使用background-image

  • 将svg作为对象

  • 内联svg

坐标系统

视口

文档打算使用的画布区域被称为视口。我们可以使用svg元素上的widthheight属性确定视口的大小。属性值如果没有单位默认是px

默认用户坐标

原点(x=0, y=0)在阅读器的左上角

为视口指定用户坐标

没有单位的数值都被视为像素,但是有时候我们并不想这样。为了实现这一效果,我们可以在svg元素上设置viewBox属性,这个属性的值由4个数值组成,他们分别代表想要叠加在视口上的用户坐标系统的最小x坐标、最小y坐标、宽度、高度。

因此,要在4厘米*5厘米的图纸上设置一个每厘米16个单位的坐标系统,要使用这个开始标记:

1
<svg width="4cm" height="5cm" viewBox="0 0 64 80">

保留宽高比

如果viewBox和视口宽高比不一样,svg可以做三件事:

  • 按较小的尺寸等比例缩放

  • 按较大的尺寸等比例缩放并裁剪掉超出视口的部分

  • 拉伸或挤压绘图以恰好填充新的视口(不保留宽高比)

svg元素的preserveAspectRatio="align [meet | slice:裁剪]""属性允许我们指定被缩放的图像相对视口的对齐方式,以及它适配边缘还是要裁剪。

默认值:xMidYMid meet,它会缩小图像以适配可用的空间,并且使它水平和垂直居中。

<?xml>














Cat

如果preserveAspectRatio值为none,则不保留宽高比。

嵌套坐标系统

可以在文档中嵌套svg元素。默认新坐标是0,0,当然也可以通过x和y属性指定新原点。


参考网址:https://segmentfault.com/a/1190000007143300