SVG的出現(xiàn)帶來(lái)了一次技術(shù)革命。變革了在Web上圖文傳遞信息的方式,并將產(chǎn)生一種更適于Web信息發(fā)布的工作流模式,其中包括Web信息顯示和印刷出版的組織方式。
SVG 使用 XML 編寫(xiě):
//circle-demo.svg文件,以創(chuàng)建圓為例
<?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 聲明。請(qǐng)注意
standalone屬性!該屬性規(guī)定此 SVG 文件是否是“獨(dú)立的”,或含有對(duì)外部文件的引用。standalone="no"意味著 SVG 文檔會(huì)引用一個(gè)外部文件 - 在這里,是 DTD 文件。第三行引用了這個(gè)外部的 SVG DTD。該 DTD 位于 “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd”。該 DTD 位于 W3C,含有所有允許的 SVG 元素。
SVG 代碼用
<svg></svg>包裹 。這是根元素。width和height屬性可設(shè)置此 SVG 文檔的寬度和高度。version屬性可定義所使用的 SVG 版本,xmlns屬性可定義 SVG 命名空間,可以有多個(gè)命名空間。-
SVG 的
<circle>用來(lái)創(chuàng)建一個(gè)圓。-
cx和cy屬性定義圓中心的x和y坐標(biāo)。如果忽略這兩個(gè)屬性,那么圓點(diǎn)會(huì)被設(shè)置為(0, 0)。
-
r屬性定義圓的半徑。stroke和stroke-width屬性控制如何顯示形狀的輪廓。我們把圓的輪廓設(shè)置為2px寬,黑邊框。fill屬性設(shè)置形狀內(nèi)的顏色。我們把填充顏色設(shè)置為紅色。
DTD(Document Type Definition)即文檔類型定義文件是XML1.0版規(guī)格的一部分,可根據(jù)DTD定義的語(yǔ)法規(guī)則來(lái)驗(yàn)證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文檔中可直接內(nèi)嵌SVG圖像
在
HTML4的規(guī)范中,SVG文件可通過(guò)以下標(biāo)簽嵌入HTML文檔:<embed>、<object>或者<iframe>。而HTML5直接支持SVG內(nèi)嵌。
<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>
和前面的獨(dú)立SVG文件相比,內(nèi)置在HTML5文檔中可以忽略文檔DTD、SVG版本、命名空間等信息,語(yǔ)法變得很簡(jiǎn)練。
SVG形狀:http://www.itdecent.cn/writer#/notebooks/11594924/notes/14454477/preview