使用.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),因此它现在的行为应该与位图精灵表类似。
是的!它现在出现了。但是现在,当我将它悬停时,它消失了,而不是以与我有关的精灵中不同的颜色显示其他图标。任何想法有什么不对? – Beth 2014-09-24 13:09:25
这是因为你的SVG现在似乎已经失去了悬停变体。它只是黑色的。 – 2014-09-24 14:04:31
啊,是的,它正在引导到一个不同的.svg。这样做,谢谢。 – Beth 2014-09-24 14:41:47