2011-08-01 118 views
3

我正在用HTML 5/CSS 3構建一個動態導航菜單,並帶有所有新的好東西。有些菜單節點會有一個svg圖標,有些則不是。在某些視圖中,根據用戶授權級別等不同,菜單級別呈現不同。存儲svg圖標的最佳實踐?

所以我的問題是:什麼是最好的方式來存儲這些圖標? 由於每個圖標都連接到導航節點,因此將SVG圖標的xml存儲在數據庫中是否合適?有沒有人有任何好的建議?

我正在使用.net MVC3 MSSQL,但它可能與此問題無關。

問候

//ķ

回答

2

你真的不需要將它們存儲在數據庫中。這些請求應該會降低性能,並在某些情況下阻止瀏覽器兌現。單獨的文件能更好地完成這項工作

此外,你應該看看在一個文件中位圖圖標的一些做法。就像將所有SVG放在一個大文件中一樣,並使用像in this tutorial這樣的背景定位技巧。我沒有用SVG嘗試它,但有一些像背景大小調整這種方法應該爲你做好工作。保持冷靜。

1

我將它們作爲單獨文件存儲。

它們將被客戶端緩存,並且在需要更改時更容易更改文件。

0

您可以將所有圖標存儲在一個文件中。該文件將包含所有SVG符號定義。然後,你可以在你的HTML引用這些符號是這樣的:

<svg class="icon-home"> 
    <use xlink:href="symbol-defs.svg#icon-home"></use> 
</svg> 

您可以瞭解更多關於這種方法在這裏:https://css-tricks.com/svg-sprites-use-better-icon-fonts/

使用這種方法,您的SVG可以被緩存,它會只需要一個HTTP請求加載。我想推薦IcoMoon app。它允許您導入和選擇SVG圖標並生成這些符號定義文件。