SVG 实例


在线实例

下面的例子是把SVG代码直接嵌入到HTML代码中。

谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。

注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。


SVG 实例

SVG基本形状

一个圆

矩形

不透明矩形

一个矩形不透明2

一个带圆角矩形

一个椭圆

累叠而上的三个椭圆

两个椭圆

一条线

三角形

四边形

一个星星

另一个星星

折线

另一个折线

路径

二次贝塞尔曲线

编写文字

旋转文本

路径上文字

几行文字

文本链接

定义一条线,文本或轮廓颜色(stoke)

定义一条线宽度,文本或轮廓(stroke-width)

stroke-linecap属性定义不同类型的开放路径的终结:

定义虚线(stroke-dasharray)

SVG滤镜

feGaussianBlur - 模糊效果

feOffset - 偏移一个矩形,然后混合偏移图像顶部

feOffset - 模糊偏移图像

feOffset - 使阴影变黑色

feOffset - 为阴影涂上一层颜色

一个feBlend滤镜

一个feColorMatrix滤镜

一个feComponentTransfer滤镜

feOffset、feFlood、feComposite、feMerge 以及 feMergeNode

一个feMorphology滤镜

滤镜1

滤镜2

滤镜3

滤镜4

滤镜5

滤镜6

SVG渐变

水平线性渐变从黄色到红色的椭圆形

垂直线性渐变从黄色到红色椭圆形

水平线性渐变从黄色到红色并添加一个椭圆内文本

放射性渐变从白色到蓝色椭圆

放射性渐变从白色到蓝色的另一个椭圆

SVG杂项

重复用 5 秒时间淡出的矩形

矩形会变大并改变颜色

会改变颜色的三个矩形

沿一个运动路径移动的文本

沿一个运动路径移动、旋转并缩放的文本

沿一个运动路径移动、旋转并缩放的文本 + 逐步放大并改变颜色的矩形

SVG 参考手册


SVG 元素

元素 说明 属性
<a> 创建一个SVG元素周围链接 xlink:show
xlink:actuate
xlink:href
target
<altGlyph> 允许对象性文字进行控制,来呈现特殊的字符数据 x
y
dx
dy
rotate
glyphRef
format
xlink:href
<altGlyphDef> 定义一系列象性符号的替换 id
<altGlyphItem> 定义一系列候选的象性符号的替换 id
<animate> 随时间动态改变属性 attributeName="目标属性名称"
from="起始值"
to="结束值"
dur="持续时间"
repeatCount="动画时间将发生"
<animateColor> 定义随着时间的推移颜色转换 by="相对偏移值"
from="起始值"
to="结束值"
<animateMotion> 使元素沿着动作路径移动 calcMode="动画的插补模式。可以是'discrete', 'linear', 'paced', 'spline'"
path="运动路径"
keyPoints="沿运动路径的对象目前时间应移动多远"
rotate="应用旋转变换"
xlink:href="一个URI引用<path>元素,它定义运动路径"
<animateTransform> 动画上一个目标元素变换属性,从而使动画控制平移,缩放,旋转或倾斜 by="相对偏移值"
from="起始值"
to="结束值"
type="类型的转换其值是随时间变化。可以是 'translate', 'scale', 'rotate', 'skewX', 'skewY'"
<circle> 定义一个圆 cx="圆的x轴坐标"
cy="圆的y轴坐标"
r="圆的半径". 必需.

+ 显现属性:颜色,FillStroke,图形

<clipPath> 用于隐藏位于剪切路径以外的对象部分。定义绘制什么和什么不绘制的模具被称为剪切路径 clip-path="引用剪贴路径和引用剪贴路径交叉"
clipPathUnits="userSpaceOnUse'或'objectBoundingBox"。第二个值childern一个对象的边框,会使用掩码的一小部分单位(默认:"userSpaceOnUse")"
<color-profile> 指定颜色配置文件的说明(使用CSS样式文件时) local="本地存储颜色配置文件唯一ID"
name=""
rendering-intent="auto|perceptual|relative-colorimetric|saturation|absolute-colorimetric"
xlink:href="ICC配置文件资源URI"
<cursor> 定义一个独立于平台的自定义光标 x="x轴左上角光标(默认为0)"
y="y轴的左上角光标(默认为0)"
xlink:href="使用光标图像URI
<defs> 引用的元素容器  
<desc> 对 SVG 中的元素的纯文本描述 - 并不作为图形的一部分来显示。用户代理会将其显示为工具提示  
<ellipse> 定义一个椭圆 cx="椭圆x轴坐标"
cy="椭圆y轴坐标"
rx="沿x轴椭圆形的半径"。必需。
ry="沿y轴长椭圆形的半径"。必需。

+ 显现属性:颜色,FillStroke,图形

<feBlend> 使用不同的混合模式把两个对象合成在一起 mode="图像混合模式:normal|multiply|screen|darken|lighten"
in="标识为给定的滤镜原始输入:SourceGraphic | SourceAlpha | BackgroundImage | BackgroundAlpha | FillPaint | StrokePaint | <filter-primitive-reference>"
in2="第二输入图像的混合操作"
feColorMatrix SVG滤镜。适用矩阵转换  
feComponentTransfer SVG 滤镜。执行数据的 component-wise 重映射  
feComposite SVG 滤镜  
feConvolveMatrix SVG 滤镜  
feDiffuseLighting SVG 滤镜  
feDisplacementMap SVG 滤镜  
feDistantLight SVG滤镜。定义一个光源  
feFlood SVG滤镜  
feFuncA SVG 滤镜。feComponentTransfer 的子元素  
feFuncB SVG 滤镜。feComponentTransfer 的子元素  
feFuncG SVG 滤镜。feComponentTransfer 的子元素  
feFuncR SVG 滤镜。feComponentTransfer 的子元素  
feGaussianBlur SVG滤镜。执行高斯模糊图像  
feImage SVG滤镜。  
feMerge SVG滤镜。建立在彼此顶部图像层  
feMergeNode SVG 滤镜。feMerge的子元素  
feMorphology SVG 滤镜。 对源图形执行"fattening" 或者 "thinning"  
feOffset SVG滤镜。相对其当前位置移动图像  
fePointLight SVG滤镜  
feSpecularLighting SVG滤镜  
feSpotLight SVG滤镜  
feTile SVG滤镜  
feTurbulence SVG滤镜  
filter 滤镜效果的容器  
font 定义字体  
font-face 描述一种字体的特点  
font-face-format    
font-face-name    
font-face-src    
font-face-uri    
foreignObject    
<g> 用于把相关元素进行组合的容器元素 id="该组的名称"
fill="该组填充颜色"
opacity="该组不透明度"

+ 显现属性:
All

glyph 为给定的象形符号定义图形  
glyphRef 定义要使用的可能的象形符号  
hkern    
<image> 定义图像 x="图像的左上角的x轴坐标"
y="图像的左上角的y轴坐标"
width="图像的宽度". 必须.
height="图像的高度". 必须.
xlink:href="图像的路径". 必须.

+ 显现属性:
Color, Graphics, Images, Viewports

<line> 定义一条线 x1="直线起始点x坐标"
y1="直线起始点y坐标"
x2="直线终点x坐标"
y2="直线终点y坐标"

+ 显现属性:
Color, FillStroke, Graphics, Markers

<linearGradient> 定义线性渐变。通过使用矢量线性渐变填充对象,并可以定义为水平,垂直或角渐变。 id="id 属性可为渐变定义一个唯一的名称。引用必须"
gradientUnits="'userSpaceOnUse' or 'objectBoundingBox'.使用视图框或对象,以确定相对位置矢量点。 (默认为'objectBoundingBox)"
gradientTransform="适用于渐变的转变"
x1="渐变向量x启动点(默认0%)"
y1="渐变向量y启动点(默认0%)"
x2="渐变向量x的终点。 (默认100%)"
y2="渐变向量y的终点。 (默认0%)"
spreadMethod="'pad' or 'reflect' or 'repeat'"
xlink:href="reference%20to%20another%20gradient%20whose%20attribute%20values%20are%20used%20as%20defaults%20and%20stops%20included.%20Recursive"
<marker> 标 记可以放在直线,折线,多边形和路径的顶点。这些元素可以使用maeker属性的"maeker-start","maeker-mid" 和"maeker-end",继承默认情况下或可设置为"none"或定义的标记的URI。您必须先定义标记,然后才可以通过其URI引用。任何一种形 状,可以把标记放在里面。他们绘制元素时把它们附加到顶部 markerUnits="strokeWidth'或'userSpaceOnUse"。如果是strokeWidth"那么使用一个单位等于一个笔划宽度。否则,标记尺度不会使用同一视图单位作为引用元素(默认为'strokeWidth')"
refx="标记顶点连接的位置(默认为0)"
refy="标记顶点连接的位置(默认为0)"
orient="'auto'始终显示标记的角度。 "auto"将计算某个角度使得X轴一个顶点的正切值(默认为0)
markerWidth="标记的宽度(默认3)"
markerHeight="标记的高度(默认3)"
viewBox="各点"看到"这个SVG绘图区域。由空格或逗号分隔的4个值。(min x, min y, width, height)"

+ presentation attributes:
All

<mask> 度屏蔽是一种不透明度值的组合和裁剪。像裁剪,您可以使用图形,文字或路径定义掩码的部分。一个掩码的默认状态是完全透明的,也就是裁剪平面的对面的。在掩码的图形设置掩码的不透明部分 maskUnits="'userSpaceOnUse' or 'objectBoundingBox'.设定裁剪面是否是相对完整的视窗或对象(默认:'objectBoundingBox')"
maskContentUnits="第二个掩码相对对象的图形位置使用百分比'userSpaceOnUse'或'objectBoundingBox'(默认:'userSpaceOnUse')"
x="裁剪面掩码(默认值:-10%)"
y="裁剪面掩码(默认值:-10%)"
width="裁剪面掩码(默认是:120%)"
height="裁剪面掩码(默认是:120%)"
metadata 指定元数据  
missing-glyph    
mpath    
<path> 定义一个路径 d="定义路径指令"
pathLength="如果存在,路径将进行缩放,以便计算各点相当于此值的路径长度"
transform="转换列表"

+ 显现属性:
Color, FillStroke, Graphics, Markers

<pattern> 定义坐标,你想要的视图显示和视图的大小。然后添加到您的模式形状。该模式命中时重复视图框的边缘(可视范围) id="用于引用这个模式的唯一ID。"必需的。
patternUnits="userSpaceOnUse'或'objectBoundingBox"。第二个值X,Y,width,height 一个会使用模式对象的边框的小部分,单位(%)。"
patternContentUnits="'userSpaceOnUse'或 'objectBoundingBox'"
patternTransform="允许整个表达式进行转换"
x="模式的偏移量,来自左上角(默认为0)"
y="模式的偏移量,来自左上角(默认为0)"
width="模式平铺的宽度(默认为100%)"
height="模式平铺的高度(默认为100%)"
viewBox="各点"看到"这个SVG绘图区域。由空格或逗号分隔的4个值。(min x, min y, width, height)"
xlink:href="另一种模式,其属性值是默认值以及任何子类可以继承。递归"
<polygon> 定义一个包含至少三边图形 points="多边形的点。点的总数必须是偶数"。必需的。
fill-rule="FillStroke演示属性的部分"

+ 显现属性:
Color, FillStroke, Graphics, Markers

<polyline> 定义只有直线组成的任意形状

points=折线上的"点"。必需的。

+ 显现属性:
Color, FillStroke, Graphics, Markers

<radialGradient> 定义放射性渐变。放射性渐变创建一个圆圈 gradientUnits="'userSpaceOnUse' or 'objectBoundingBox'. 使用视图框或对象以确定相对位置的矢量点。 (默认为'objectBoundingBox)"
gradientTransform="适用于渐变的变换"
cx="渐变的中心点(数字或% - 50%是默认)"
cy="渐变的中心点。 (默认50%)"
r="渐变的半径。 (默认50%)"
fx="渐变的焦点。 (默认0%)"
fy="渐变的焦点。 (默认0%)"
spreadMethod="'pad' or 'reflect' or 'repeat'"
xlink:href="引用到另一个渐变,其属性值作为默认值。递归"
<rect> 定义一个矩形 x="矩形的左上角的x轴"
y="矩形的左上角的y轴"
rx="x轴的半径(round元素)"
ry="y轴的半径(round元素)"
width="矩形的宽度"。必需的。
height="矩形的高度"。必需的。

+ 显现属性:
Color, FillStroke, Graphics

script 脚本容器。(例如ECMAScript)  
set 设置一个属性值指定时间  
<stop> 渐变停止 offset="偏移停止(0到1/0%到100%)". 参考
stop-color="这个stop的颜色"
stop-opacity="这个Stop的不透明度 (0到1)"
style 可使样式表直接嵌入SVG内容内部  
<svg> 创建一个SVG文档片段 x="左上角嵌入(默认为0)"
y="左上角嵌入(默认为0)"
width="SVG片段的宽度(默认为100%)"
height="SVG片段的高度(默认为100%)"
viewBox="点"seen"这个SVG绘图区域。由空格或逗号分隔的4个值。 (min x, min y, width, height)"
preserveAspectRatio="'none'或任何'xVALYVAL'的9种组合,VAL是"min","mid"或"max"。(默认情况下none)"
zoomAndPan="'magnify' or 'disable'.Magnify选项允许用户平移和缩放您的文件(默认Magnify )"
xml="最外层<svg>元素都需要安装SVG和它的命名空间: xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve""

+ 显现属性:
All

switch    
symbol    
<text> 定义一个文本 x="列表的X -轴的位置。在文本中在第n个字符的位置在第n个x轴。如果后面存在额外的字符,耗尽他们最后一个字符之后放置的位置。 0是默认"
y="列表的Y轴位置。(参考x)0是默认"
dx="在字符的长度列表中移动相对最后绘制标志符号的绝对位置。(参考x)"
dy="在字符的长度列表中移动相对最后绘制标志符号的绝对位置。(参考x)"
rotate="一个旋转的列表。第n个旋转是第n个字符。附加字符没有给出最后的旋转值"
textLength="SVG查看器将尝试显示文本之间的间距/或字形调整的文本目标长度。(默认:正常文本的长度)"
lengthAdjust="告诉查看器,如果指定长度就尝试进行调整用以呈现文本。这两个值是'spacing'和'spacingAndGlyphs'"

+ 显现属性:
Color, FillStroke, Graphics, FontSpecification, TextContentElements

textPath    
title 对 SVG 中的元素的纯文本描述 - 并不作为图形的一部分来显示。用户代理会将其显示为工具提示  
<tref> 引用任何SVG文档中的<text>元素和重用 相同的<TEXT>元素
<tspan> 元素等同于<text>,但可以在内部嵌套文本标记以及内部本身 Identical to the <text> element
+ in addition:
xlink:href="引用一个<TEXT>元素"
<use> 使用URI引用一个<G>,<svg>或其他具有一个唯一的ID属性和重复的图形元素。复制的是原始的元素,因此文件中的原始存在只是一个参考。原始影响到所有副本的任何改变。 x="克隆元素的左上角的x轴"
y="克隆元素的左上角的y轴"
width="克隆元素的宽度"
height="克隆元素的高度"
xlink:href="URI引用克隆元素"

+ 显现属性:
All

view    
vkern    

原文:http://www.runoob.com/svg/svg-reference.html

转自:SVG 教程 (七)SVG 实例,SVG 参考手册

SVG 教程 (七)SVG 实例,SVG 参考手册相关推荐

  1. SVG 教程 (六)SVG 阴影,SVG 渐变 - 线性,SVG 渐变- 放射性

    SVG 阴影 注意: Internet Explorer和Safari不支持SVG滤镜! <defs> 和 <filter> 所有互联网的SVG滤镜定义在<defs> ...

  2. Arduino 语法、函数使用、最常用函数、arduino教程、arduino笔记、参考手册

    文章目录 数字 I/O 模拟 I/O 高级 I/O 数学运算 三角函数 随机数 位操作 设置中断函数 开关中断 通讯 数字 I/O pinMode() 描述 将指定的引脚配置成输出或输入.详情请见di ...

  3. html文档中strokestyle,HTML5简明教程-1.1.2.HTML5Canvas参考手册 之 笔触strokeStyle

    今天介绍canvas的另一个重要属性strokeStyle,strokeStyle属性定义了我们在canvas画布上进行图形绘制时的"笔触",简单点说,就是定义了我们的画笔样式.另 ...

  4. PHP程序开发参考手册

    /**语句*/ //if语句--条件控制语句 <?php$num = 2011;if(($num%4)==0&&($num%100)!=0){echo "$num&qu ...

  5. SVG 教程 (五)文本,Stroke 属性,SVG 滤镜,SVG 模糊效果

    SVG <text> SVG 文本 - <text> <text> 元素用于定义文本. 实例 1 写一个文本: 下面是SVG代码: <svg xmlns=&q ...

  6. SVG 教程 (四)多边形,曲线,路径

    SVG <polygon> SVG 多边形 - <polygon> 实例 1 <polygon> 标签用来创建含有不少于三个边的图形. 多边形是由直线组成,其形状是 ...

  7. SVG 教程 (三)圆形,椭圆,直线

    SVG <circle> SVG 圆形 - <circle> <circle> 标签可用来创建一个圆: 下面是SVG代码: <svg xmlns=" ...

  8. SVG 教程 (二)矩形

    SVG <rect> SVG Shapes SVG有一些预定义的形状元素,可被开发者使用和操作: 矩形 <rect> 圆形 <circle> 椭圆 <elli ...

  9. SVG 教程 (一)

    SVG 简介 SVG 是使用 XML 来描述二维图形和绘图程序的语言. 学习之前应具备的基础知识: 继续学习之前,你应该对以下内容有基本的了解: HTML XML 基础 如果希望首先学习这些内容,请在 ...

最新文章

  1. 熬夜写代码,不如换女装入GitHub获上千Star?
  2. R语言使用cowplot包的plot_grid函数将两个ggplot2可视化结果并排组合起来并添加图像标签A、B、设置组合图像使用共享的图例(shared legend in cowplot)
  3. 单元测试中Assert类的用法
  4. 【iCore3 双核心板_ uC/OS-III】例程四:时间管理
  5. java输出阶乘_Java阶乘输出
  6. canvas绘画时钟
  7. vip forum.php,DZ论坛突破VIP回复查看内容
  8. 关于web前端性能优化总结
  9. Audio-PCM设备的创建
  10. VC++将位图中保存的图像灰化(附源码)
  11. UltraEdit for Mac 18.00 强大的文本编辑器 中文破解版下载
  12. java关于数组的下标越界
  13. MATLAB Support Package for USB Webcams 的使用方法(MATLAB调用摄像头后的使用方法)
  14. 46.整理华子面经+笔试+排序算法
  15. BERT-MRC论文笔记
  16. STM32H7系列其一
  17. 水滴公司:左手口碑,右手商业
  18. android 动画 图片从指定位置飞到指定位置
  19. 【正在直播】“政府治理大数据”线上论坛,听技术大咖解读数字政府
  20. 初识sed和gawk

热门文章

  1. すぬけ君の地下鉄旅行 / Snuke's Subway Trip(AtCoder-2069)
  2. 训练日志 2018.11.7
  3. 信息学奥赛C++语言:高个子的人数
  4. 信息学奥赛C++语言:尼克的岁数
  5. 字符串Ascll格式转16进制
  6. 15拆分成3个不同的自然数_一个简单的算法 - 将一个正整数拆分成指定几个正整数的组合...
  7. python字符串描述_Python字符串
  8. influxdb数据备份和恢复
  9. 10_Influxdb+Grafana监控Mysql
  10. 函数节流(throttle)与函数防抖(debounce)