2012-11-17 7 views
10

は私のウェブサイトのためにこの条件を考慮してください。スプライト画像の代わりにデータURIを使用する際の欠点は何ですか?

  • ブラウザのサポートは問題ではありませんので、私は以下のIE8をサポートしていません。

  • また、私は データファイルをコピーしてCSSファイルに貼り付ける場合に、CSSでデータが過負荷にならないようにgzipを使用します。

  • 私は、LESSによって生成された1つのCSSファイルしか持っていません。

  • 私は簡単にするため、各画像データURIにLESS変数を使用します。

  • 私はまだそれがロードするイメージのための最善の方法かどうかわからない、このすべてで

きれいな私のコードベースを維持するために分離LESSファイル内の画像変数を置きます。この方法で小さな画像を読み込むと、HTTPリクエストの数が減り、スプライトイメージを維持する必要もありません。

このアプローチには何らかの欠点は考えられますか?

+0

うん、賢い。私はそれが好きです。 – tjameson

+1

一部のモバイルデバイスやブラウザでは、特定のサイズを超えるファイルはキャッシュされません(iPhoneは24kbだと思います)。データURIの結果として非常に大きなCSSファイルがある場合は、そこの足で自分自身を撮影することができます。 – cimmanon

+0

@cimmanon 2012年の場合はそうではないと思います。[this](http://www.yuiblog.com/blog/2010/07/12/mobile-browser-cache-limits-revisited/)をチェックしてください – Mohsen

答えて

2

イメージが変更された場合、cssファイル全体が変更される必要があります。これにより、HTTPキャッシュが中断されます。スプライトイメージでは、cssファイル自体がキャッシュから提供され、変更されたイメージのみを再度ダウンロードする必要があります。

データ:URI画像のみのCSSファイルを生成する方が良いかもしれませんし、通常のCSS素材のCSSファイルも生成するほうが良いかもしれません。このようにして、定期的なCSSの更新では、データを再ダウンロードする必要はありません。

第2の問題は、前景画像で、<img>タグがHTMLに含まれていることです。頻繁に使用されるイメージの場合、htmlのサイズが不必要に大きくなります。

+0

+1はCSSファイルの変更を指示します。私は 'img'要素を作成するためにこれらのデータURIを使用しません – Mohsen

関連する問題