前言
在日常开发过程中,我们或多或少都接触过SVG
,有可能是用它来画一些简单的图形,有可能是使用它来构建工程的字体文件库,甚至是用它来绘制一些复杂的可视化模块。本文会详细介绍SVG
的基本图形以及常见的动画形式,帮助你了解入门SVG
。
基本图形
下面会介绍SVG
预设的数种形状以及对应的属性介绍,在实际开发或者设计过程中,绘画SVG
图标大多数时候都是会使用一些工具的。
矩形
<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <rect width="100" height="100" x="20" y="20" rx="30" ry="30" style="fill:rgb(255,255,0);stroke-width:4; stroke:rgb(0,0,0);fill-opacity: .6;stroke-opacity: .5;" /> </svg>
在svg
标签中,width
表示整个宽度,height
表示高度,version
表示版本,xmlns
表示命名空间,后面两个属性是相对固定的东西,稍作理解即可。
rect
中的标签属性与style
属性解释如下:
width
:宽度height
:高度x
:水平方向上的偏移量y
:竖直方向上的偏移量rx
、ry
:定义圆角效果style
:样式(这些样式同样适用于下面的图形,所以下面的图形只会介绍属性,不会重复介绍样式)
fill
:rgb颜色,表示矩形的填充颜色fill-opacity
:填充的不透明度stroke
:rgb颜色,表示矩形的边框颜色stroke-width
:矩形边框的大小stroke-opacity
:矩形边框的不透明度
圆形
<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <circle cx="100" cy="50" r="40" style="stroke:black; stroke-width:2; fill:blue" /> </svg>
circle
标签属性解释如下:
cx
、cy
:圆心坐标r
:圆的半径
椭圆
<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <ellipse cx="100" cy="50" rx="40" ry="50" style="fill:purple" /> </svg>
ellipse
标签属性解释如下:
cx
:圆心的x
坐标cy
:圆心的y
坐标rx
:水平半径ry
:竖直半径
线条
<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <line x1="10" y1="10" x2="100" y2="100" style="stroke:red;stroke-width:2" /> </svg>
line
标签属性解释如下:
x1
:线段的起点x
坐标x2
:线段的终点x
坐标y1
:线段的起点y
坐标y2
:线段的终点y
坐标
多边形
<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <polygon points="10,10 10,200 100,200 100,10" style="fill:red; stroke:#000000;stroke-width:1" /> </svg>
polygon
标签属性解释如下:
points
:定义多边形的N
个(x
,y
)坐标,不少于三个点
折线
<svg width="200px" height="200px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <polyline points="10,10 20,20 30,15 40,40 50,30 60,60" style="fill:transparent;stroke:green;stroke-width:2" /> </svg>
polyline
标签属性解释如下:
points
:定义曲线的N
个(x
,y
)坐
PS:你看这个曲线图,像不像你最近的股票基金
SVG实例入门与动画实战二https://developer.aliyun.com/article/1495150