0

这不仅是 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; }
4

1 回答 1

1

我遇到了同样的问题。对我来说,在这个相关问题Background-size with SVG squided in IE9-10中建议的解决方案是在我的 SVG 文件中为元素添加widthheight属性。svg

于 2014-08-20T13:27:36.073 回答