什么是SVG?
- SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
- SVG 用来定义用于网络的基于矢量的图形
- SVG 使用 XML 格式定义图形
- SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
- SVG 是万维网联盟的标准
- SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体
SVG 的主要竞争者是 Flash
与 Flash 相比,SVG 最大的优势是与其他标准(比如 XSL 和 DOM)相兼容。而 Flash 则是未开源的私有技术。
今天,所有浏览器均支持 SVG 文件,不过需要安装插件的 Internet Explorer 除外。
SVG 实例
下面的例子是一个简单的 SVG 文件的例子。SVG 文件必须使用 .svg 后缀来保存:
1 <?xml version="1.0" standalone="no"?> 2 3 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 4 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 5 6 <svg width="100%" height="100%" version="1.1" 7 xmlns="http://www.w3.org/2000/svg"> 8 9 <circle cx="100" cy="50" r="40" stroke="black" 10 stroke-width="2" fill="red"/> 11 12 </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 形状
SVG 有一些预定义的形状元素,可被开发者使用和操作:
- 矩形 <rect>
- 圆形 <circle>
- 椭圆 <ellipse>
- 线 <line>
- 折线 <polyline>
- 多边形 <polygon>
- 路径 <path>
1.1 SVG简介---矢量图和位图
位图(BMP、PNG、JPG等):基于颜色的描述
矢量图(SVG、AI等):基于数学的描述
※ 使用方式
(1)浏览器中直接打开
(2)在img中使用<img>标签引用
(3)直接在HTML中使用SVG标签
(4)作为CSS背景
1.2 基本图形和属性
基本图形:如上6种
基本属性:fill 、stroke-width、transform
提高练习:SVG编辑器的编译
下一篇传送门:(2)SVG中的坐标系统