2012-12-04 80 views
0

如您所知,您可以將多個CSS文件壓縮爲一個(或JS文件)。我想知道是否有可能將幾個SVG壓縮到一個外部文件,所以服務器只提出一個請求Rails/Asset pipeline是否可以將幾個SVG壓縮到一個文件?

基本上SVG文件只是XML文本,所以它在理論上是可行的,但是如何渲染其中的幾個圖像在不同的地方

我只是想知道

+0

..可能,我可以將我的SVG源代碼作爲我的主HTML的一部分,但如果它是外部文件仍然會很好 – equivalent8

回答

0

THX的答案,但我最終做這樣的結尾:

在我來說,我想用我的SVG作爲div標籤的背景圖像,所以我不需要預編譯SVGs,我只是把壓縮格式直接background-image: url('here')

如此多SVG背景:

width: 600px: 
height: 400px: 
background-image: url('data:image/svg+xml ...first svg '), url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjY0MCIgaGVpZ2h0PSI0ODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8IS0tIENyZWF0ZWQgd2l0aCBTVkctZWRpdCAtIGh0dHA6Ly9zdmctZWRpdC5nb29nbGVjb2RlLmNvbS8gLS0+CgogPGc+CiAgPHRpdGxlPkxheWVyIDE8L3RpdGxlPgogIDxwb2x5bGluZSBpZD0ic3ZnXzMiIHBvaW50cz0iNTM4LjUsMzMzLjU2OTU2NDgxOTMzNTk0IDMyMi4yNSwyNzguMjg0NzgyNDA5NjY3OTcgMTA2LDIyMyAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSI1IiBmaWxsPSJub25lIi8+CiAgPGVsbGlwc2UgZmlsbD0iI0ZGMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjUiIGN4PSIzNDMiIGN5PSIxNzAiIGlkPSJzdmdfMSIgcng9IjE0MCIgcnk9IjEwNSIvPgogPC9nPgo8L3N2Zz4=') 

點擊此處查看:http://codepen.io/equivalent/full/ymefJ

生SVG格式:

<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg"> 
<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ --> 
<g> 
    <title>Layer 1</title> 
    <polyline fill="none" stroke-width="5" stroke="#000000" points="538.5,333.56956481933594 322.25,278.28478240966797 106,223 " id="svg_3"/> 
    <ellipse transform="translate(-402 -120)" ry="105" rx="140" id="svg_1" cy="290" cx="745" stroke-width="5" stroke="#000000" fill="#FF0000"/> 
</g> 
</svg> 

編輯:http://svg-edit.googlecode.com/svn/trunk/editor/svg-editor.html

我相信,在Tom Harrison答案鏈接到的東西,從我看到它可能工作,但我沒有自己試試吧。所以,如果你想真正地預編譯SVG和資產管道,我鼓勵你使用這種策略。

相關問題