2012-08-01 7 views
5

Safariで奇妙な問題が発生しています。私は要素の背景をSVGに設定しています。このSVGはタイトなピクセルグリッド上に描画され、他のほとんどのブラウザに完全に表示されますが、何らかの理由でSafariで正しくスケーリングされません。私は99.9%に、バックグラウンド・サイズを設定しようとしたSafariでのSVGスケーリングの問題

-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; 

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

...と作成CSS:ここ

はSASSは、私は背景を設定するために使用していますですそれは少し助けたが、すべてブラウザではぼやけていた。

enter image description here

アイデアが起こっかもしれないもののように:

ここではChromeとSafariでの結果は?

+0

それはおそらく「ブレーク」にSVGの本来のアスペクト比を望んでいないのWebKitに関連すると思われるこのバグhttps://bugs.webkit.org/show_bug.cgi?id=82645に関連することができます。あなたのアイコンは、含まれている要素と同じ縦横比ですか? –

+0

こんにちはクリス。まさにそうです。 SVGが作成されたのと同じサイズでレンダリングしています。 –

答えて

9

さて、SVG要素にpreserveAspectRatio="xMinYMin none"を追加するように修正されました。

<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"> 
+1

'xMinYMin none'は無効な構文です(http://stackoverflow.com/a/20563983/109374を参照)。 –