【一、项目背景】

SVG 表示可伸缩矢量图形,这是一门用于描述 2D 图形的语言,图形应用使用 XML 编写,然后 XML 由 SVG 阅读器程序呈现。支持三种类型的图形对象:矢量图形形状(例如,由直线和曲线组成的路径),图像和文本。图形对象可以进行分组,样式设置,转换和合成。功能集包括嵌套转换,剪切路径,Alpha蒙版,滤镜效果和模板对象。。

SVG 在 2003 年 1 月 14 日成为 W3C 推荐标准,你可以在 SVG 规范 页面中查看最新版本的 SVG 规范。

【二、怎么查看 SVG 文件?】

大多数 Web 浏览器都可以显示 SVG,就像它们可以显示 PNG,GIF 以及 JPG 图形。IE 用户可能需要安装 Adobe SVG 阅读器以便能够在浏览器中查看 SVG。

【三、HTML5 中嵌入 SVG】

HTML5 允许我们直接使用 _... 标签嵌入 SVG,

简单的语法:

<svg xmlns="http://www.w3.org/2000/svg">
</svg>

拓展:

FireFox 3.7 还引入了一个配置选项("about:config"),可以通过下列步骤启用 HTML5:

  1. 在 FireFox 地址栏中输入 about:config。

  2. 在出现警告消息的地方点击 “I'll be careful, I promise!” 按钮(确保遵守它)。

  3. 在页面顶部的过滤器中输入 html5.enable。

  4. 默认可能被禁用了,因此要点击它切换它的值为 true。

【四、实际案例】

1. SVG 圆

下面是一个 SVG 示例的 HTML5 版本,用 标签绘制一个圆:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Circle</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg"><circle id="redcircle" cx="50" cy="50" r="50" fill="red" />
</svg>
</body>
</html>

启用 HTML5 的最新版 FireFox 中会生成如下结果:

2. SVG 矩形

下面是一个 SVG 示例的 HTML5 版本,用 标签绘制一个矩形:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Rectangle</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg"><rect id="redrect" width="300" height="100" fill="red" />
</svg>
</body>
</html>

在启用 HTML5 的最新版 FireFox 中会生成如下结果:

3. SVG 线条

下面是一个 SVG 示例的 HTML5 版本,用 标签绘制一个线条:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Line</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="200" y2="100"style="stroke:red;stroke-width:2"/>
</svg>
</body>
</html>

你可以使用 style 属性给它设置额外的样式信息,比如笔画,填充色,笔画宽度等等。

在启用 HTML5 的最新版 FireFox 中会生成如下结果:

便于学习这一概念 - 请使用 FireFox 3.7 或更高的版本进行在线练习。

4. SVG 椭圆

下面是一个 SVG 示例的 HTML5 版本,用 标签绘制一个椭圆:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Ellipse</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg"><ellipse cx="100" cy="50" rx="100" ry="50" fill="red" />
</svg>
</body>
</html>

在启用 HTML5 的最新版 FireFox 中会生成如下结果:

便于学习这一概念 - 请使用 FireFox 3.7 或更高的版本进行在线练习。

5. SVG 多边形

下面是一个 SVG 示例的 HTML5 版本,用 标签绘制一个多边形:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Polygon</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg"><polygon  points="20,10 300,20, 170,50" fill="red" />
</svg>
</body>
</html>

启用 HTML5 的最新版 FireFox 中会生成如下结果:

6. SVG 折线

元素用于绘制连接的直线。下面是一个 SVG 示例的 HTML5 版本,用 标签绘制一个折线图:

<html><title>SVG折线</title><body><h1>简单SVG折线图片</h1><svg width="800" height="800"><g><text x="0" y="15" fill="black" >Polyline #1: Without opacity.</text><polyline points="150,75 258,137.5 258,262.5 150,325 42,262.6 42,137.5"stroke="black" stroke-width="3" fill="none"></polyline></g></svg></body>
</html>

在启用 HTML5 的最新版 FireFox 中会生成如下结果:

7. SVG 渐变

下面是一个 SVG 示例的 HTML5 版本,用 标签绘制一个椭圆,使用 标签定义一个 SVG 径向渐变。

我们可以以类似的方式用 标签创建 SVG 线性渐变。

<!DOCTYPE html><head><title>SVG</title><meta charset="utf-8" />
</head><body><h2>HTML5 SVG Gradient Ellipse</h2><svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg"><defs><radialGradient id="gradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%"><stop offset="0%" style="stop-color:rgb(200,200,200);stop-opacity:0" /><stop offset="100%" style="stop-color:rgb(255,0,0);<!--颜色为红-->stop-opacity:1" /></radialGradient></defs><ellipse cx="100" cy="50" rx="100" ry="50" style="fill:url(#gradient)" /></svg>
</body></html>

在启用 HTML5 的最新版 FireFox 中会生成如下结果:

【五、总结】

1、讲解了Html中svg,对于遇到的一些难点进行了分析及提供解决方案。欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

2、代码很简单,希望对你学习有帮助。

想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/

想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/

一篇文章教会你使用HTML5 SVG 标签相关推荐

  1. html5把六张图片做成立方体,一篇文章教会你利用html5和css3实现3D立方体效果图...

    [一.项目背景] 随着HTML5 CSS3的出现和发展,使得我们的网页可以实现更加复杂的效果,也使得我们的浏览体验更加丰富,所以今天我们将制作一个正方体的3D效果. [二.项目分析] 想要利用CSS3 ...

  2. html5制作3d效果图,一篇文章教会你利用html5和css3实现3D立方体效果图

    [一.项目背景] 随着HTML5 CSS3的出现和发展,使得我们的网页可以实现更加复杂的效果,也使得我们的浏览体验更加丰富,所以今天我们将制作一个正方体的3D效果. [二.项目分析] 想要利用CSS3 ...

  3. 一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接

    [一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的下载,而且不能直观的知道最近电影更新的状态. 今天小编以电影天堂为例,带大家更直观的去看自己喜欢的电影,并且下载下来 ...

  4. 一篇文章教会你利用Python网络爬虫获取素材图片

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 在素材网想找到合适图片需要一页一页往下翻,现在学会python就可 ...

  5. 一篇文章教会你使用html+css3制作GIF图

    简介:一篇文章教会你使用html+css3制作GIF图 [一.项目背景] 生活中经常会见到很多gif图,那么gif图到底是什么?GIF是一种位图.简单来说就是通过每一张张静图,通过控制它的关键帧,从而 ...

  6. 一篇文章教会你创建vue项目和使用vue.js实现数据增删改查

    简介:一篇文章教会你创建vue项目和使用vue.js实现数据增删改查 [一.项目背景] 在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品.修改商品价格.删除商品 ...

  7. python网络爬虫_一篇文章教会你利用Python网络爬虫获取穷游攻略

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 穷游网提供原创实用的出境游旅行指南.攻略,旅行社区和问答交流平台, ...

  8. list vue 添加数据方法_一篇文章教会你创建vue项目和使用vue.js实现数据增删改查...

    简介:一篇文章教会你创建vue项目和使用vue.js实现数据增删改查 [一.项目背景] 在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品.修改商品价格.删除商品 ...

  9. python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...

最新文章

  1. linux remote
  2. 8月数据库排行榜:SQL Server分数下降最多
  3. 如何保存一个函数_如何表达一个“分段函数”之学习Matlab Function模块
  4. android listview 去掉水波纹效果_CocosCreator之分层管理的ListView
  5. Notepad++ 快捷键 大全
  6. python3cookbook_python3-cookbook读书笔记(四)
  7. 细说WCF中的会话模式
  8. weex默认的flex布局_CSS flex布局入门
  9. Java中关于HashMap的使用和遍历
  10. html图片随圆点下标轮播,基于JavaScript实现轮播图代码
  11. Excel打印针式打印机备货单
  12. 卸载ps显示无法连接adobe服务器,PS还在无法安装?无法卸载?通通搞定!
  13. Bingo说说:副业刚需时代,你有B计划吗?
  14. VMware连接不上网
  15. 修11代12代希捷坏道
  16. 一加9pro 鸿蒙系统,想换国产旗舰,一加9 Pro和华为Mate 40 Pro怎么选?
  17. 最让人舒服的11种颜色RGB值和十六进制值
  18. 线性规划(matlab篇)
  19. 01背包,完全背包的区别
  20. HDU 5514Frogs

热门文章

  1. 实验一 :类微信界面设计
  2. leetcodee-802-find eventual safe states
  3. 位置式PID与增量式PID——理论推导
  4. ensp 进入交换机子接口、让子接口认识vlanid的数据帧、开启路由器的arp广播:实现pc之间的通信。
  5. java用ffmpeg转码_java运用FFMPEG视频转码技术.doc
  6. D2 Admin 关于主动关闭tab标签
  7. ECMAScript 6中数组新方法
  8. 滑动窗口滤波 c语言,关于中值滤波算法,以及C语言实现(转)
  9. Flutter开发(三十):Flutter简单app搭建
  10. Shane版详细设计书 文档模板