SVG

Posted Young

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVG相关的知识,希望对你有一定的参考价值。

  (一)SVG 简介

一.SVG是什么:

SVG是英文“Scalable Vector Graphics”的简称,如果翻译成中文就是“可缩放矢量图形”。
它是基于可扩展标记语言(XML)(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式。
它由万维网联盟制定,是一个开放标准。
二.SVG主要特点:
(1).SVG是指可伸缩矢量图形。
(2).SVG用来定义用于网络的基于矢量的图形。
(3).SVG使用XML格式定义图形。
(4).SVG图像在放大或缩小(改变尺寸)的情况下,其图形质量不会受受损失。
(5).SVG是W3C的一个标准。
三.SVG主要优势:
(1).SVG可被非常多的工具读取和修改(比如记事本)。
(2).SVG与JPEG和GIF图像比起来,尺寸更小,且可压缩性更强。
(3).SVG是可伸缩的。
(4).SVG图像可在任何的分辨率下被高质量地打印。
(5).SVG可在图像质量不下降的情况下被放大。
(6).SVG图像中的文本是可选的,同时也是可搜索的(很适合制作地图)。
(7).SVG可以与Java技术一起运行。
(8).SVG是开放的标准。

(9).SVG文件是纯粹的XML。

查看 SVG 文件

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

IE8和早期版本都需要一个插件 - 如Adobe SVG浏览器,这是免费提供的。

创建SVG文件

由于SVG是XML文件,SVG图像可以用任何文本编辑器创建,但它往往是与一个绘图程序一起使用,如Inkscape,更方便地创建SVG图像。

简单的 SVG 实例

这里是SVG文件(SVG文件的保存与SVG扩展):

实例:<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="100" cy="50" r="40" stroke="black"
  stroke-width="2" fill="red" />
</svg>

SVG 代码解析:

第一行包含了 XML 声明。请注意 standalone 属性!该属性规定此 SVG 文件是否是"独立的",或含有对外部文件的引用。

standalone="no" 意味着 SVG 文档会引用一个外部文件 - 在这里,是 DTD 文件。

第二和第三行引用了这个外部的 SVG DTD。该 DTD 位于 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"。该 DTD 位于 W3C,含有所有允许的 SVG 元素。

SVG 代码以 <svg> 元素开始,包括开启标签 <svg> 和关闭标签 </svg> 。这是根元素。width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。

SVG 的 <circle> 用来创建一个圆。cx 和 cy 属性定义圆中心的 x 和 y 坐标。如果忽略这两个属性,那么圆点会被设置为 (0, 0)。r 属性定义圆的半径。

stroke 和 stroke-width 属性控制如何显示形状的轮廓。我们把圆的轮廓设置为 2px 宽,黑边框。

fill 属性设置形状内的颜色。我们把填充颜色设置为红色。

关闭标签的作用是关闭 SVG 元素和文档本身。

注释:所有的开启标签必须有关闭标签!

 

嵌入html的SVG:

SVG不但可以单独形成一个文件,也可以直接嵌入到HTML代码之中。

代码实例如下:<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落</title> </head> <body> <svg xmlns="http://www.w3.org/2000/svg" version="1.1">   <circle           cx="100" cy="50"           r="40"           stroke="black"           stroke-width="5"           fill="green" /> </svg> </body> </html>
SVG如何在web中使用:
一.直接嵌入到HTML中;
二.使用<embed>标签:
可以使用此标签将SVG文件引入到当前页面。

代码如下:

<embedsrc="circle.svg"type="image/svg+xml"/>

三.通过object标签引入:
可以使用object标签引入外部svg文件到当前页面。

代码实例如下:

<object data="circle.svg" type="image/svg+xml"></object>

四.作为背景图片引入:

可以作为元素的背景引入,代码实例如下:

div {
  background: url("circle.svg") no-repeat center;
  background-size : 100px 100px;
}

 五.通过iframe引入:

通过iframe也可以引入svg,代码如下:

<iframesrc="circle.svg"></iframe>

六.通过<img>标签引入:

通过此标签也可以引入svg文件,就等同于一个图片,代码如下:

<img src="circle.svg"/>

七.链接到svg文件:

可以直接通过超链接访问svg文件,代码如下:

<a href="circle1.svg">蚂蚁部落</a>

 

 

 

 

 

 

 

 





以上是关于SVG的主要内容,如果未能解决你的问题,请参考以下文章

text 使用SVG的片段

css 快速片段将svg与中心对齐并缩放到视口大小。

通过 webapp 提供时,SVG 片段标识符在 Safari 中被交换

可从 HTML 拖放到 SVG 上

在PaddlePaddle中的Notebook代码片段

使SVG linearGradient遵循路径