2012-08-09 9 views
7

私はレスポンシブなデザインに取り組んでいます。ヘッダーグラフィックをビューポートの幅に合わせる必要があります。私はこれがうまくスケールすると思っているsvgに行ってきました。 (私はフルサイトでsvgサポートをテストし、gifをsvgに置き換えます)。 Firefox(Windows 7では13.0)では小さなサイズでアンチエイリアス処理を行っていません。時々、いくつかのサイズでよく見えますが、サイズを修正するとしますが、それを避けたいのです。 ChromeとSafariで画像のアンチエイリアスが行われているようです。Firefoxはアンチエイリアスのスケーリングされた背景ではありません。

私はbackground-size: 100% 100%をコンテナに合わせて設定していますが、私はcoverのようなものも試しましたが、違いはありません。

私はimage-rendering: optimizeQuality;も追加しようとしましたが、これは役に立たなかったようです。

私はhttp://axminster.digital.linneydesign.com/svg/にテストページを設定しました。トップはバックグラウンドイメージで、その下のものはまったく同じファイルですが、htmlで直接imgとして追加されました。ブラウザを小さなサイズにスケーリングすると、一番上のピクセルが表示されますが、下のものはスムーズになります。

ディメンションを固定せずにこの背景イメージをどのように滑らかにすることができますか?

ありがとうございました。

答えて

9

svgファイル(sophie-conran.svg)の外側の<svg>要素の幅と高さを100%に指定します。

何が起こるかは、svgイメージが与えられた幅と高さ、つまり1000px x 350pxでラスタライズされ、そのビットマップが必要なサイズに変換されます。幅と高さのパーセンテージを作成すると、ビットマップは最終サイズで作成され、ビットマップスケーリングはありません。

更新:

これは、Firefox 24を持つすべての議論の余地があるといえ超えて、あなたが好きなものを行うことができ、それは常にピクセル化することなく、適切に、すなわち動作します。

+1

完璧、ありがとうございます。そして解決策だけでなく、説明に感謝します。 –

+2

これはFirefoxの問題を解決しましたが、iOS 5とAndroid Androidブラウザ(Androidの新しいChromeブラウザではありません)に新しい問題が発生しました。 1つの画像は、約3:1の比率を有する。高さ/幅が正確な量として与えられ、背景サイズが拡大縮小に使用されるとき、それはうまくレンダリングされます。 100%を使用すると、画像の上と下に大量の空白が表示されます。 –

関連する問題