SVG学习笔记

摘要

SVG是可缩放矢量图形,是用于描述二维矢量图形的XML格式文件,可直接嵌入网页,支持无限缩放不失真,文件体积小,适配网页图标、简单图形、动画等场景,无需依赖位图像素,兼容性强,可通过代码编辑图形样式与动画。

abstract

SVG (Scalable Vector Graphics) is an XML-based file format for describing two-dimensional vector graphics. It can be embedded directly in web pages, supports infinite scaling without distortion, and has a small file size. It is suitable for web icons, simple graphics and animations, with strong compatibility, and its styles and animations can be edited through code.

一、基础概念

  1. 全称:可缩放矢量图形(Scalable Vector Graphics)

  2. 核心特性:矢量图,基于数学公式绘制图形,区别于像素位图;缩放、放大、旋转不会出现模糊锯齿;纯文本XML结构,可读写、可压缩。

  3. 适用场景:网页图标、logo、简单几何图形、数据可视化图表、轻量网页动画;不适合复杂照片、高清实景图片。

二、基础语法规则

  1. 文件后缀为 .svg ,`。

  2. 支持设置宽高 width/height 、视口 viewBox (定义图形可视区域,实现自适应缩放)。

  3. 遵循XML规范:标签必须闭合、属性带引号、区分大小写。

  4. 可直接嵌入HTML页面,也可单独作为文件引入。

三、常用基础图形标签

  1. 矩形:`,可设置宽高、圆角、填充色、边框。

  2. 圆形: <circle> ,通过圆心坐标、半径绘制。

  3. 椭圆: <ellipse> ,区分横竖半径。

  4. **`,通过两点坐标绘制直线段。

  5. 折线/多边形: <polyline> 折线、 <polygon> 闭合多边形,通过点位坐标绘制。

  6. 路径:`,SVG最强大标签,可绘制任意不规则图形、曲线,通过路径指令控制。

四、基础样式属性

  1. fill :图形内部填充颜色, fill="none" 为无填充。

  2. stroke :边框颜色, stroke-width :边框宽度。

  3. opacity :整体透明度,支持0-1数值调节。

五、拓展能力

  1. 支持CSS样式修饰、hover交互效果。

  2. 原生支持简单动画`标签可实现位移、缩放、变色动画。

  3. 支持图形分组 <g> ,统一管理多个图形样式和变换。