1

这是一个转贴 SVG 作为背景图片,跨浏览器兼容性

因为我觉得我没有得到答案,因为我的问题模棱两可,所以我再次发布。

我对不同浏览器中不同的 svg sprite 的偏移量(背景位置)有疑问。显然偏移量需要针对不同的浏览器进行调整。IE

//Chrome Safari
.some{
      background: transparent url('some.png') no-repeat -X1px -Y1px;
      background: rgba(0,0,0,0) url('some.svg') no-repeat -X2px -Y2px;
      width: 53px;
      height: 14px;
      position: relative;
      top: 13px;
      left: 30px;
}
//Mozilla
.some:not(:-moz-handler-blocked){
    background: rgba(0,0,0,0) url('some.svg') no-repeat -X2px (-Y2+4)px;
}
 /IE9
.ie9 .some {
    background: rgba(0,0,0,0) url('some.svg') no-repeat -X2px (-Y2+8)px;
}

所以这种方式,需要对Y偏移进行调整。

并且对于同一浏览器的健全精灵中的不同背景图像,偏移量通常是不同的。有没有更简单的方法来解决这个问题?

4

1 回答 1

3

因此,经过一番尝试和尝试,发现需要为您的背景 css 提供背景大小。这将导致所有浏览器的背景位置相同。

.some{
    background: transparent url('some.png') no-repeat -X1px -Y1px;
    background: rgba(0,0,0,0) url('some.svg') no-repeat -X2px -Y2px;
    width: 53px;
    height: 14px;
    position: relative;
    top: 13px;
    left: 30px;
    background-size:sizeXpx sizeYpx;
}
于 2013-10-01T05:06:15.570 回答