8

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

をコンテナに合わせてスケーリングするように設定しています。同様のbackground-size: 100% 100%ことを試しましたcoverが、違いはないようです。

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

http://axminster.digital.linneydesign.com/svg/にテストページを設定しました。上の画像は背景画像で、下の画像はまったく同じファイルですが、HTMLに直接追加されています。img。ブラウザを小さいサイズに縮小すると、上の1つがピクセル化されているのがわかりますが、下の1つはスムーズなままです。

寸法を固定せずにこの背景画像を滑らかにする方法について何か考えはありますか?

ありがとう。

4

2 に答える 2

10

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

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

アップデート:

これはFirefox24以降ではすべて意味がありませんが、好きなことを行うことができ、ピクセル化なしで常に適切に機能します。

于 2012-08-09T10:41:55.460 に答える
1

解決策は、SVGを外部ファイルとしてではなく、タグとして含めることです。Firefoxはアンチエイリアシングを正しく適用します。

于 2019-06-20T22:34:54.960 に答える