初识SVG

flyKot2025/05/08

一、 基本构成

 <svg xmlns="http://www.w3.org/2000/svg">

 </svg>

由svg标签包裹,可设置宽高等:

<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300">

</svg>

子标签有rect(矩形)、circle(圆形)、text(文本)内容

<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">

    <rect width="100%" height="100%" fill="red"></rect>
    <circle r="50" fill="blue" cx="50%" cy="50%"></circle>
    <text x="50%" y="50%" font-size="20" text-anchor="middle" fill="white">test</text>
</svg>

以上内容表示一个200*200的svg内,填充一个宽高100%的矩形和居中的,半径为50的圆形和居中的,字体为白色的test字样

二、 基本形状

1) 矩形

<rect x="10" y="10" width="30" height="30"/>
<rect x="60" y="10" rx="10" ry="10" width="30" height="30"/>

x —— 相对于左上角的横向坐标

y——相对于左上角的纵向坐标

width ——宽

height——高

rx ——矩形圆角x方向的半径

ry——矩形圆角y方向的半径

2) 圆形

<circle cx="25" cy="75" r="20"/>

r——圆的半径

rx——圆心的x坐标

ry——圆心的y坐标

3) 椭圆

<ellipse cx="50" cy="50" rx="300" ry="100" ></ellipse>

cx——圆心x坐标

cy——圆心的y坐标

rx——椭圆的x方向的半径

ry——椭圆的y方向的半径

4)路径

<line x1="10" x2="50" y1="110" y2="150" stroke="black" stroke-width="5"/>

x1——起始点的x坐标

y1——起始点的y坐标

x2——终点的x坐标

y2——终点的y坐标

stroke——填充颜色

stroke-width——线条宽度

5)折线

一组连接在一起的直线。因为它可以有很多的点,折线的所有点位置都放在一个 points 属性中:

<polyline points="60, 110 65, 120 70, 115 75, 130 80, 125 85, 140 90, 135 95, 150 100, 145"/>

points:点集数列。每个数字用空白、逗号、终止命令符或者换行符分隔开。每个点必须包含 2 个数字,一个是 x 坐标,一个是 y 坐标。所以点列表 (0,0), (1,1) 和 (2,2) 可以写成这样:“0 0, 1 1, 2 2”。

6)多边形

跟折线一样,由多个点组成的形状,为多边形

//矩形
<polygon points="0,0 50,0 50,20 0,20" stroke="black" stroke-width="2" fill="red"></polygon>
//五角星
<polygon points="50, 160 55, 180 70, 180 60, 190 65, 205 50, 195 35, 205 40, 190 30, 180 45, 180"/>

7)路径

<path d="M20,230 Q40,205 50,230 T90,230" fill="none" stroke="blue" stroke-width="5"/>