这不仅仅是IE 9中的一个问题。 10,还有旧版本的Safari,如5.1.7
我想使用SVG图像精灵,它在所有最新版本的Chrome,Firefox和IE上看起来都很好,但是在IE 9& 10,它使图像看起来被压扁而不能以正确的尺寸显示。
请在IE 9,IE 10或Safari 5.1.7中查看此JS小提琴:http://jsfiddle.net/NGSM3/3/以查看问题。我想继续使用图像精灵,但想要将它们更新为SVG图像精灵。
我的HTML:
<ul class="svg-nav">
<li>
<a><span class="item1"></span></a>
</li>
<li class="selected">
<a><span class="item2"></span></a>
</li>
<li>
<a><span class="item3"></span></a>
</li>
<li>
<a><span class="item4"></span></a>
</li>
</ul>
我的CSS:
*{
margin: 0;
padding: 0;
}
.svg-nav{
background: #fff;
display: block;
width: 415px;
list-style: none;
}
.svg-nav li{
float: left;
}
.svg-nav a{
border-right: 1px solid #eee;
cursor: pointer;
display: inline-block;
padding: 9px 35px 6px 35px;
}
.svg-nav li:last-child a{
border-right: none;
}
.svg-nav li a:hover, .svg-nav .selected a{background: #ddd;}
.svg-nav li a span{
background-image: url("http://www.endpop.co/svg-test.svg");
background-repeat: no-repeat;
cursor: pointer;
display: inline-block;
height: 33px;
width: 33px;
background-size: 133px 66px;
}
.item1{ background-position: 0 0; }
.item2{ background-position: -33px 0; }
.item3{ background-position: -66px 0; }
.item4{ background-position: -99px 0; }
答案 0 :(得分:1)
我遇到了同样的问题。我在此相关问题Background-size with SVG squished in IE9-10中作为答案建议的解决方案是将width
和height
属性添加到SVG文件中的svg
元素。