Safari中的SVG扩展问题

Bra*_*ham 5 css safari svg

在Safari中发生奇怪的问题.我将元素的背景设置为SVG.这个SVG是在一个紧密的像素网格上绘制的,并且完美地出现在大多数其他浏览器中,但由于某种原因,它在Safari中缩放不正确.

这是我用来设置背景的SASS:

@include background-size(100% 100%);
background: transparent image-url('icon-laptop.svg') no-repeat 0 0;
Run Code Online (Sandbox Code Playgroud)

...以及创建的CSS:

-webkit-background-size: 100% 100%;
-moz-background-size: 100% 100%;
-o-background-size: 100% 100%;
background-size: 100% 100%;
background: transparent url('../images/icon-laptop.svg?1343856741') no-repeat 0 0;
Run Code Online (Sandbox Code Playgroud)

我尝试将背景大小设置为99.9%并且它有所帮助,但在每个浏览器中变得模糊.

以下是Chrome和Safari中的结果:

在此输入图像描述

关于可能发生的事情的想法?

Bra*_*ham 10

好的,所以修复是添加preserveAspectRatio="xMinYMin none"到SVG元素.

<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="35px" height="28px" viewBox="0 0 35 28" enable-background="new 0 0 35 28" xml:space="preserve" preserveAspectRatio="xMinYMin none">
Run Code Online (Sandbox Code Playgroud)

  • 请注意,“ xMinYMin none”是无效的语法,请参见http://stackoverflow.com/a/20563983/109374。 (2认同)
  • `preserveAspectRatio="none"` 在这里为我工作。添加“xMinYMin”不起作用。 (2认同)