2014-12-11 66 views
7

我有我要嵌入網頁上的SVG圖像(一個HTML文件中)我需要在網頁中

我創建的圖像嵌入時,它保持XML頭中的SVG文件與Adobe Illustrator和它包含以下標頭:

<?xml version="1.0" encoding="utf-8"?> 

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 
    viewBox="0 0 462.219 381.915" enable-background="new 0 0 462.219 381.915" xml:space="preserve"> 
... 

我是否需要xml和DOCTYPE聲明?或者只是嵌入<svg>標籤的內容是好的?

+0

[HTML5中的SVG - XML聲明何時可能重複\'<?xml version =「1.0」encoding =「utf-8」?> \'needed?](http://stackoverflow.com/問題/ 38169475/svg-html5-when-is-xml-declaration-xml-version-1-0-encoding-utf-8) – SeinopSys 2016-07-29 13:44:45

回答

6

當您將SVG嵌入到HTML頁面或其他SVG中時,應該刪除XML標題行。

UPDATE

只是爲了澄清:

格式良好的XML文檔只包含一個序言。所以如果你將一個SVG嵌入到另一個SVG中,它們應該被刪除。請參閱:http://www.w3.org/TR/2008/REC-xml-20081126/#dt-wellformed

在HTML文件中嵌入SVG時,可以保留序言行。瀏覽器中的HTML解析器將忽略它們。但是鑑於它們沒有任何用處,我建議您「應該」刪除它們以使文檔變得更小 - 並且更具可讀性。 :)

+0

任何'proof'鏈接? – YemSalat 2014-12-11 02:56:22

+1

但是如果HTML頁面的編碼與SVG文件的編碼不同呢? – bart 2015-11-30 05:08:00

+0

嵌入式SVG文件的內容應該與它所屬的HTML文件具有相同的編碼。 – 2015-11-30 07:40:38