学习SVG系列(1):SVG基础
什么是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基础的更多相关文章
- 学习SVG系列(5):SVG渐变
SVG渐变 渐变是一种从一种颜色到另一种颜色的平滑过渡,可以把多个颜色的过渡应用到同一个元素. 渐变有两种: Linear Redial 线性渐变-<linearGradient> lin ...
- 学习SVG系列(4):SVG滤镜效果
注意:Internet Explorer和Safari不支持SVG滤镜 <defs>.<filter> 所有互联网的SVG滤镜定义在<defs>元素中,<fi ...
- 学习SVG系列(3):SVG Stroke属性
SVG stroke 属性 1.stroke 2.stroke-width 3.stroke-linecap 4.stroke-dasharray 5.stroke-opacity 6.stroke- ...
- SVG系列教程:SVG简介与嵌入HTML页面的方式
地址:http://www.w3cplus.com/html5/svg-introduction-and-embedded-html-page.html 随着技术向前的推进,SVG相关的讨论也越渐频繁 ...
- Django学习系列之Form基础
Django学习系列之Form基础 2015-05-15 07:14:57 标签:form django 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追 ...
- 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器
× 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...
- HTML5 学习03——内联 SVG
什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺 ...
- Svg.Js 父类的基础操作
一.SVG.Doc 创建SVG文档 var draw = SVG('drawing') <div id="svg1"></div> <script&g ...
- WebService学习笔记系列(二)
soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon ...
随机推荐
- div模拟table,可实现左右高度同增长(html布局)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 提高ASP.NET应用程序性能的十大方法
一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的 ...
- [转载]来,让我们谈一谈Normalize.css
来源 : http://segmentfault.com/a/1190000002239676 ---------------------------------------------------- ...
- appcan.slider.js探索
1:-moz代表firefox浏览器私有属性 -ms代表IE浏览器私有属性 -webkit代表chrome.safari私有属性 2:定义新模块:appcan.define(name,function ...
- 打造最高效的科研环境之Emacs插件们
0 盲人摸象 作为初学者,迫切的需求就是直接上手Emacs并打造包含自动补全命令在内的科研环境. 和网上众多的插件安装的教程相比,我认为找到一个与自己需求匹配的Emacs配置环境来得更方便. 本例中, ...
- bzoj 4066: 简单题
#include<cstdio> #include<iostream> #include<cstdlib> #include<algorithm> #d ...
- fonts.useso.com 访问变慢
fonts.useso.com 替换为 fonts.lug.ustc.edu.cn ajax.useso.com 替换为 ajax.lug.ustc.edu.cn the ...
- struts入门实例
入门实例 1 .下载struts-2.3.16.3-all .不摆了.看哈就会下载了. 2 . 解压 后 找到 apps 文件夹. 3. 打开后将 struts2-blank.war ...
- php 数据库insert函数
<?php function into($constr) { $con = mysql_connect("localhost","root"," ...
- AX2012导Demo数据
看到这篇文章后http://www.cnblogs.com/duanshuiliu/archive/2012/07/18/2597645.html,为了大家的方便就分享下 关于AX2012的导Demo ...