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>
包裹 。這是根元素。width
和height
屬性可設置此 SVG 文檔的寬度和高度。version
屬性可定義所使用的 SVG 版本,xmlns
屬性可定義 SVG 命名空間,可以有多個命名空間。-
SVG 的
<circle>
用來創建一個圓。-
cx
和cy
屬性定義圓中心的x
和y
坐標。如果忽略這兩個屬性,那么圓點會被設置為(0, 0)
。
-
r
屬性定義圓的半徑。stroke
和stroke-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>
效果如下:
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.lxweimin.com/writer#/notebooks/11594924/notes/14454477/preview