一、SVG概念

  1、SVG:XML文本格式描述的矢量图

  Scalable Vector Graphics(简称SVG),是“可扩展矢量图形”的意思。SVG是由W3C制定的基于可扩展标记语言(XML)来描述二维矢量图型的一个开放标准。SVG严格遵从XML语法,SVG并用文本格式的描述性语言来描述图像内容,因此SVG是一种和图像分辨率无关的矢量图形格式。

  2、优势

  

二、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>  

  第一行包含了 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 元素和文档本身。

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

三、将SVG文件嵌入HTML中

  1、两种嵌入方式

  方式一:SVG 文件可通过以下标签嵌入 HTML 文档:<embed>、<object> 或者 <iframe>。

  方式二:SVG的代码可以直接嵌入到HTML页面中,或您可以直接链接到SVG文件。

  2、标签嵌入

  • <embed>标签:优势:所有主要浏览器都支持,并允许使用脚本。缺点:不推荐在HTML4和XHTML中使用(但在HTML5允许)

    <embed src="circle1.svg" type="image/svg+xml" /> 
  • <object>标签:优势:所有主要浏览器都支持,并支持HTML4,XHTML和HTML5标准。缺点:不允许使用脚本。

    <object data="circle1.svg" type="image/svg+xml"></object> 
  • <iframe>标签:优势:所有主要浏览器都支持,并允许使用脚本。缺点:不推荐在HTML4和XHTML中使用(但在HTML5允许)

    <iframe src="circle1.svg"></iframe> 

  3、直接嵌入

  在Firefox、Internet Explorer9、谷歌Chrome和Safari中,你可以直接在HTML嵌入SVG代码。

  •  1 <!DOCTYPE html>
     2 <html>
     3 <body>
     4 <!--直接嵌入svg文件-->
     5 <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
     6    <circle cx="100" cy="50" r="40" stroke="blue" stroke-width="2" fill="red" />
     7 </svg> 
     8  
     9 </body>
    10 </html>

  4*、使用<a>标签链接到SVG文件

  • <a href="circle1.svg">View SVG file</a>

版权声明:本文为fzz9原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fzz9/p/9116435.html