使用.svg文件作为精灵,但它不起作用

问题描述:

我有一个.png精灵,它可以工作,但我切换到.svg,它将整个图像缩小到高度(24像素)。这里是我的网站:http://www.bethalessi.com/你可以在侧边栏看到它在这个空的空间。我的代码:使用.svg文件作为精灵,但它不起作用

ul.social { 
text-align: center; 
margin-top: 4em; 
} 
.social li { 
display: inline-block; 
} 
.social a { 
display: block; 
width: 28px; 
height: 24px; 
background: url(assets/images/social.svg) no-repeat; 
} 

如果我将高度更改为336px(文件的高度),它会显示正确的大小,但会重复每个链接的图像。

如何使用.svg文件制作精灵?

你需要稍微改变你的SVG。从更改线路4:

<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 28 336" enable-background="new 0 0 28 336" xml:space="preserve"> 

<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" 
width="28" height="336" enable-background="new 0 0 28 336" xml:space="preserve"> 

您当前版本的SVG的,与viewBox属性,告诉你想要的SVG缩放到适合父容器的浏览器。这是28x24盒子。

更改后的版本使SVG成为固定大小(28x336),因此它现在的行为应该与位图精灵表类似。

+0

是的!它现在出现了。但是现在,当我将它悬停时,它消失了,而不是以与我有关的精灵中不同的颜色显示其他图标。任何想法有什么不对? – Beth 2014-09-24 13:09:25

+0

这是因为你的SVG现在似乎已经失去了悬停变体。它只是黑色的。 – 2014-09-24 14:04:31

+0

啊,是的,它正在引导到一个不同的.svg。这样做,谢谢。 – Beth 2014-09-24 14:41:47