svg为可缩放矢量图形,使用 XML 格式定义图像。
(1) 基础语法
独有属性如下:
x、y :矩形左上角位置坐标,可省略,默认为原点(0,0)。
rx、ry:可用于设置圆角半径,可省略。默认为直角。
width、height:矩形的宽和高。
(2)样式
(1) 基础语法
独有属性如下:
cx、cy:圆心坐标,可省略,默认为原点(0,0)。
r:圆半径。
(2)样式
(1) 基础语法
独有属性如下:
cx、cy:中心坐标,可省略,默认为原点(0,0)。
rx、ry:椭圆的水平、纵向半径。
(2)样式
(1) 基础语法
独有属性如下:
x1、y1:起点坐标,可省略,默认为原点(0,0)。
x2、y2:终点坐标,可省略。省略时,以原点为起点,x1、y1重点。
(2)样式
(1) 基础语法
独有属性如下:
points:多边形各顶点坐标。成对配置,两对坐标为一条线段。
(2)样式
(1) 基础语法
独有属性如下:
points:折线各顶点坐标。成对配置,两对坐标为一条线段。
(2)样式
(1) 基础语法
独有属性如下:
d:路径命令。
(2)常用命令及语法
(3)样式
(1) 基础语法
文本示例 特有属性如下:
x、y:文本左上角位置坐标。
rotate:每个文本字的旋转角度
dx、dy:文本左上角位置坐标偏移量,文字起始位置为(x+dx, y+dy)
textLength:设置文本长度。
lengthAdjust:调整文本的收缩或扩张方式,与textLength属性配合使用,可选值如下:
spacing:单个文字大小不变,只收缩或扩张间距
spacingAndGlyphs:单个文字大小不变,只收缩或扩张间距
text-anchor:改变(x,y)作为起始坐标的定义。可选值如下:
start:(x,y)为文本的起始坐标。
middle:(x,y)为文本的中轴坐标。
end:(x,y)为文本的结束坐标。font-family:字体
font-size:字体大小
font-style:字体类型
normal:文本应以普通形式显示。
italic:文本应以斜体显示。
oblique:文本应以斜形式显示。font-weight:字体粗细。
font-stretch:设置字形缩合或扩展量
normal:正常的字形
wider:宽的
narrower:窄的
ultra-condensed:超压缩字形
extra-condensed:额外压缩字形
condensed:压缩字形
semi-condensed:半压缩字形
semi-expanded:半扩展字形
expanded:扩展字形
extra-expanded:额外扩展字形
ultra-expanded:超扩展字形inherit:使用父节点配置
font-variant:设置小型大写字母的字体normal:默认值。浏览器会显示一个标准的字体。
small-caps:浏览器会显示小型大写字母的字体
inherit:使用父节点配置font-size-adjust:浏览器将调整字体大小,目前只有Firefox支持。
(2)样式
属性 | 描述 |
fill | 填充颜色 |
fill-opacity | 填充颜色的透明度 |
fill-rule | 填充规则,符合填充规则才可被填充 nonzero: evenodd: inherit: |
stroke | 边框颜色 |
stroke-width | 边框宽度 |
stroke-opacity | 边框透明度 |
stroke-linecap | 单条线端点样式,一般应用于直线、折线或者路径。 butt:矩形样式,两端坐标为两端宽度中心。 square:矩形样式,两端坐标为两端宽度一半长度的位置处。长度比butt的长度长一个线宽度。 round:半圆样式,两端坐标为半圆圆心。 |
stroke-dasharray | 虚线边框,可以设置每段虚线的长度和间隔 |
stroke-dashoffset | 虚线描边偏移量,使图案向前移动 |
sroke-linejoin | 两条线段之间衔接点的样式, miter:尖 round:圆 bevel:平 |
sroke-miterlimit | sroke-linejoin=miter时,可设置转角可延伸到多远的距离 |
opacity | 定义整个图形的透明度 |
transform | 可对图形进行平移、旋转、缩放等形变。 |
clip-path | 设置剪切路径 |
mask | 设置蒙版 |
(1) 基础语法
可使用transform属性对图形进行平移、旋转、缩放等形变。
(2) 可用变形
属性 | 描述 |
translate(x-value, y-value) | 图像偏移,x、y方向偏移x-value, y-value个单位长度。 |
scale(x-value, y-value) | 图像缩放,x、y方向扩大或缩小x-value, y-value倍。 |
rotate(angle,centerX, centerY) | 顺时针旋转图形,以(centerX, centerY)点旋转angle度。 centerX, centerY可省略,默认(0,0) |
skewX(angle) skewY(angle) |
使土象在x轴和Y轴歪斜angle度。 |
(3) 示例
(1) 基础语法
通过
标签定义组件(一组图像),使用
(2)可用标签
滤镜 | 描述 | 效果 |
g | 用来分组用的,它能把多个元素放在一组里。还可以使用 放在 |
|
symbol | 定义一个图像模板,不会显示任何图像,只有使用 注:等价于 |
|
use | 用于复制一个形状,可重新设置属性。 |
(1) 基础语法
通过
标签可定义一组滤镜效果。
(2) 可用滤镜
(3) 公共属性
属性 | 描述 |
x、y | 指定渲染滤镜效果的左上角坐标,默认值:(0,0) |
width、height | 绘制滤镜容器框的高宽(默认都为 100%) |
result | 用于定义一个滤镜效果的输出名字,以便将其用作另一个滤镜效果的输入(in) |
in | 指定滤镜效果的输入源,可以是某个滤镜导出的 result,也可以是下面 6 个值: SourceGraphic 表示图形元素自身 |
(4)特效示例
1. 阴影特效
2. 反射二次光效果
3. 褶皱纸张效果
(1) 基础语法
1
1
1
(2) 可用渐变
渐变 | 描述 | 效果 |
linearGradient | 线性渐变,从一个方向到另一个方向的一种颜色到另一种颜色的线性转换。 x1、y1:渐变起点坐标 x2、y2:渐变终点坐标 spreadMethod:图形元素内散布渐变的方法 pad:填充。示例图一。 reflect: 镜像。示例图二。 repeat: 重复。示例图三。 gradientUnits:定义梯度内各种长度值的坐标系的单位 objectBoundingBox:引用元素上的边界框的分数或百分比值 userSpaceOnUse:引用元素上的坐标值 gradientTransform:应用渐变之前进行变换(例如旋转),示例图四。 |
|
radialGradient | 径向渐变,从一个方向到另一个方向的一种颜色到另一种颜色的圆形过渡。 cx、cy:径向渐变中心坐标x和y。默认50% r:渐变的半径 fx、fy:径向渐变焦点的坐标x和y。默认50% spreadMethod:图形元素内散布渐变的方法 pad:填充。示例图一。 reflect: 镜像。示例图二。 repeat: 重复。示例图三。 gradientUnits:定义梯度内各种长度值的坐标系的单位 objectBoundingBox:引用元素上的边界框的分数或百分比值 userSpaceOnUse:引用元素上的坐标值 gradientTransform:应用渐变之前进行变换(例如旋转) |
(1) 基础语法
我们一起去春游。
(2)效果
(1) 基础语法
通过不同图像的可见度来处理目标图像的显示。
clipPath可通过基础图形、路径、Text剪切图像。区域之内可见,区域之外不可见。
mask中使用颜色来控制透明度:white表示透明度为0,即完全显示;black表示透明度为1,即完全透明
(2) 可用蒙版
蒙版 | 描述 | 效果 |
clipPath | clipPath是1位蒙板,裁剪路径内的图形都可见,外面不可见。 | |
mask | mask是一种蒙板容器,可以指定不同位置的透明度。 |
用于在
、 、 、 元素上绘制箭头或者多边标签图形。
有属性如下:
viewBox:可见区域
refX、refY:图形和直线连接的坐标点
markerUnits:标记大小的基准
strokeWidth:线的宽度
userSpaceOnUse:线前端的大小
markerWidth、markerHeight:标签的宽高范围,需要大于等于标记图像的大小,否则图像显示不全。
orient:绘制的方向,可设为auto(自动确认方向)和角度值
id:标识id,用于引用。
设置位置的属性如下:
marker-start: 路径的起点处
marker-mid: 路径的中间端点处(直线只有起点和终点,所以对直线无用)
marker-end: 路径的终点处示例:
有属性如下:
x、y:指定图案的起始坐标。
width、height:用于填充图案的宽度和高度。可以是相对值(例如百分比)或绝对值(例如像素)。
patternUnits:一个填充空间的坐标系单位,pattern标签x、y、width、height的单位。
userSpaceOnUse:引用元素上的坐标值
objectBoundingBox:引用元素上的边界框的分数或百分比值,所填充的图形的大小可进行缩放。
patternContentUnits:填充图案的坐标系单位,pattern标签的子标签(基础图像、路径、文本)等的坐标单位。
userSpaceOnUse:引用元素上的坐标值
objectBoundingBox:引用元素上的边界框的分数或百分比值,所填充的图形的大小可进行缩放。
示例:
(1) 基础语法
(2) 可用动画