什么是SVG?

1、指可伸缩矢量图形

2、用来定义用于网络的基于矢量的图形

3、使用XML格式定义图形

4、图像在放大或改变尺寸的情况下其图形不会有所损失

5、万维网联盟的标准, 用于描述二维矢量图形的一种图形格式

SVG的优势

1、可被非常多的工具读取和修改(比如记事本)

2、与JPEG和GIF图像比起来,尺寸更小,且压缩性强

3、可伸缩

4、图像可在任何的分辨率下被高质量打印

5、可以在图像质量不下降的情况下放大或者缩小

6、图像中的文本是可选的,同时也是可以搜索的(比较适合制作地图)

7、是开放的标准

8、文件是纯粹的XML

9、与Flash相比,最大的优势是与其他的标准相兼容,而Flash则是未开源的私有技术

SVG格式优点

1、基于可扩展标记语言(XML文件)

2、采用文本来描述对象:矢量图形(包括直线,曲线在内的图形)、地阵图像和文本

3、具有交互性和动态性;SVG因为是基于XML的,所以提供了动态交互性,融合了SMIL片段模式,在SVG文件中嵌入动画元素(如运动路径、渐现或渐隐效果、改变颜色等)

4、完全支持DOM

开发:

SVG是一个XML文件,用于XML编程的两种模型DOM和SAX也适用于它。因为SVG是被设计用于互联网,所以通过Javascript和DOM访问它就是最重要的应用模式。通过Javascript和DOM可以动态地修改HTML,同样也可以在浏览器中动态地创建、修改和删除图片。

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",表示会引用一个外部文件,在这里dtd文件

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

  circle用于创建一个园,cx和cy用于设置坐标位置,r用于设置园的半径,stroke用于设置轮廓边界的颜色,stroke-width设置轮廓的宽度,fill用于填充园的颜色。

SVG文件引用:

1、用<emded>标签<emded src="rect.svg" width="300" height="100" type="image/svg+xml" pluginspage="指向下载插件的URL" />

2、使用<object>标签

<object data="rect.svg" width="300" height="100" type="image/svg" codebase="指向下载插件的URL" />

3、使用iframe标签

<iframe src="rect.svg" width="300" height="100"></iframe>

学习SVG系列(1):SVG基础的更多相关文章

  1. 学习SVG系列(5):SVG渐变

    SVG渐变 渐变是一种从一种颜色到另一种颜色的平滑过渡,可以把多个颜色的过渡应用到同一个元素. 渐变有两种: Linear Redial 线性渐变-<linearGradient> lin ...

  2. 学习SVG系列(4):SVG滤镜效果

    注意:Internet Explorer和Safari不支持SVG滤镜 <defs>.<filter> 所有互联网的SVG滤镜定义在<defs>元素中,<fi ...

  3. 学习SVG系列(3):SVG Stroke属性

    SVG stroke 属性 1.stroke 2.stroke-width 3.stroke-linecap 4.stroke-dasharray 5.stroke-opacity 6.stroke- ...

  4. SVG系列教程:SVG简介与嵌入HTML页面的方式

    地址:http://www.w3cplus.com/html5/svg-introduction-and-embedded-html-page.html 随着技术向前的推进,SVG相关的讨论也越渐频繁 ...

  5. Django学习系列之Form基础

     Django学习系列之Form基础 2015-05-15 07:14:57 标签:form django 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追 ...

  6. 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器

    × 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...

  7. HTML5 学习03——内联 SVG

    什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺 ...

  8. Svg.Js 父类的基础操作

    一.SVG.Doc 创建SVG文档 var draw = SVG('drawing') <div id="svg1"></div> <script&g ...

  9. WebService学习笔记系列(二)

    soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon ...

随机推荐

  1. Load Runner录制C/S客户端

    1.    打开应用程序 2.    点击如下菜单 弹出窗口如下 3.    点击New,弹出窗口如下,选择Web(HTTP/HTML) 4.    点击Create,弹出窗口 5.    点击OK, ...

  2. LoadRunner ERROR:Could not call flex.messaging.io.amf.ASObject.readObject() : Cannot parse date.

    Error: Encoding of AMF message failed. Error is : Exception Occurred while invoking WriteObject meth ...

  3. 点开看看please

  4. Discuz中解决jquery 冲突的方法 绝对简单

    将jquery.js在common.js之前载入,不然jquery的$()函数会覆盖common.js的$()函数: 然后用到jQuery的$()函数的地方都用jQuery()代替. 例如 $(doc ...

  5. java selenium (二) 环境搭建方法一

    webdriver 就是selenium 2.    webdriver 是一款优秀的,开源的,自动化测试框架. 支持很多语言.  本文描述的是用java Eclipse 如何搭建环境 阅读目录   ...

  6. 深度讲解VIEWPORT和PX是什么?移动端单位px,em,rem

    刚开始接触移动页面重构,是不是很迷惑应该按照多大的尺寸制作?320.640还是720?按照640的设计稿重构完页面,是不是还需要写其他尺寸来适配不同的屏幕大小?—— 这源于对viewport和px的不 ...

  7. 使用wait()与notify()实现线程间协作

    调用sleep()和yield()的时候锁并没有被释放,而调用wait()将释放锁.这样另一个任务(线程)可以获得当前对象的锁,从而进入它的synchronized方法中.可以通过notify()/n ...

  8. js判断数组

    1.constructor 在W3C定义中的定义:constructor 属性返回对创建此对象的数组函数的引用 就是返回对象相对应的构造函数.从定义上来说跟instanceof不太一致,但效果都是一样 ...

  9. CSS网页布局全精通

    在本文中将使用四种常见的做法,结合CSS于结构化标记语法制作两栏布局.很快地就会发现,不用嵌套表格,间隔用的GIF也能做出分栏版面布局. 相关文章:CSS网页布局开发小技巧24则 稍后在"技 ...

  10. EXE加锁器 只是思路

    代码有点乱 但是我不想整理 // AddBoxDlg.cpp : 实现文件 // #include "stdafx.h" #include "AddBox.h" ...