HTML5|SVG基础

作者: 葶寳寳 | 来源:发表于2017-07-11 16:07 被阅读0次

SVG的出现带来了一次技术革命。变革了在Web上图文传递信息的方式,并将产生一种更适于Web信息发布的工作流模式,其中包括Web信息显示和印刷出版的组织方式。

SVG 使用 XML 编写:

//circle-demo.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 width="100%" height="100%" version="1.1"
  xmlns="http://www.w3.org/2000/svg">

  <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>包裹 。这是根元素。 widthheight 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间,可以有多个命名空间。

  • SVG 的 <circle> 用来创建一个圆。

    • cxcy 属性定义圆中心的 xy 坐标。如果忽略这两个属性,那么圆点会被设置为(0, 0)
  • r 属性定义圆的半径。

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

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

DTD(Document Type Definition)即文档类型定义文件是XML1.0版规格的一部分,可根据DTD定义的语法规则来验证XML文档的合法性。

然后,将.svg文件引入HTML文档中:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
   //引入方式一
   <object data="svg-demo.svg" width="300" height="100"  type="image/svg+xml"></object>
   //引入方式二
   <embed src="svg-demo.svg" width="300" height="100" type="image/svg+xml"/>
   //引入方式三
   <iframe src="svg-demo.svg" width="300" height="100">
   </iframe>
</body>
</html>

效果如下:


svg-circle.png

HTML5文档中可直接内嵌SVG图像

HTML4的规范中,SVG文件可通过以下标签嵌入HTML文档:<embed><object> 或者 <iframe>。而HTML5直接支持SVG内嵌。

 <html> <!DOCTYPE html>
  <body>
  <h1>My first SVG</h1>
  <svg width="100" height="100">
    <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow"/>
     Sorry, your browser does not support inline SVG.
  </svg>
  </body>
</html>

和前面的独立SVG文件相比,内置在HTML5文档中可以忽略文档DTD、SVG版本、命名空间等信息,语法变得很简练。

SVG形状:http://www.jianshu.com/writer#/notebooks/11594924/notes/14454477/preview

相关文章

  • HTML5学习--SVG全攻略(进阶篇)

    ****此篇为svg的进阶介绍篇,了解更多关于svg的介绍请看 HTML5学习--SVG全攻略(基础篇)*** *...

  • HTML5|SVG基础

    SVG的出现带来了一次技术革命。变革了在Web上图文传递信息的方式,并将产生一种更适于Web信息发布的工作流模式,...

  • HTML5 内联 SVG

    HTML5 支持内联 SVG。 什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Gra...

  • HTML5 内联 SVG

    HTML5 支持内联 SVG。 什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Gra...

  • HTML5 内联 SVG

    HTML5支持内联SVG。 什么是SVG? SVG指可伸缩矢量图像(Scalable Vector Graphic...

  • SVG基础/SVG画饼图

    SVG基础 SVG画饼图 扩展

  • SVG

    @(HTML5)[canvas与SVG] [TOC] 十一 、SVG HTML体系中,最常用的绘制矢量图的技术是S...

  • 扣丁学堂简述什么是HTML5内联SVG及SVG的优势

    HTML5内联SVG不知道有多少对HTML5感兴趣的小伙伴知道,SVG的优势又有多少小伙伴了解呢?本篇文章跟扣丁学...

  • SVG的坐标和转换

    详情>>>[https://www.w3cplus.com/html5/svg-coordinate-system...

  • svg基础--基本语法与标签

    svg系列–基础 这里会总结svg的基础知识和一些经典的案例。 svg简介 如何在网页中引用svg元素 一些公共属...

网友评论

    本文标题:HTML5|SVG基础

    本文链接:https://www.haomeiwen.com/subject/fkstcxtx.html