2010-12-05 9 views
15

約6000個の小さな画像サムネイル(それぞれ40x40)を含むページを表示したい。 6000のHTTP要求を避けるために、私はCSSのスプライトを調べています。つまり、これらのサムネイルをすべて1つの長いストリップに連結し、CSSを使用して必要なイメージを切り出します。残念ながら、JPEGファイルはどの次元でも65500ピクセルを超えることはできません。ウェブスタックのさらなる限界に注意して、私は疑問に思っています:40x240000の寸法の画像に次のうちどれが対処できないのですか?ブラウザ/ CSS仕様の最大画像サイズ?

  • Internet Explorerの
  • オペラ
  • WebKitの
  • 任意のCSS仕様
  • 任意のHTML仕様
  • PNG仕様

編集:これの目的は、単に表示することです一度に全画像収集を行い、最大でもユーザをスクロールする必要があります。私は "マイクロサムネイル"を既存のCSSレイアウトに流したいので、大きな四角いイメージを使うことはできません。ユーザーがすべてを見るために複数のページをクリックする必要はありません。ピクセルの総数はそれほど大きくはありません - 2560x1600ディスプレイに収まるピクセルの2倍です。すべてのマイクロサムネイルの合計ファイルサイズはわずか2メガバイトです。すべてのイメージがブラウザのメモリで圧縮されていないと仮定すると、1ピクセルあたり8バイトの記憶域(RGBAと100%のオーバーヘッドファジーファクタ)を使用して、数百メガバイトのRAM使用量を話しています。 2010年には特殊化されたアプリケーションには不合理ではありません。すべてのマイクロサムネイルが個別に送信された場合に生成されるHTTP要求の量だけが不合理です。

+0

ここで質問です:地獄はあなたがそれをしたいと思う理由は? – Jere

+0

ああ。じぶんの。神。 --- – neo2862

+0

これは深くお勧めできません。これを複数のページに分割するのは本当に*本当に*合理的ではありませんか? –

答えて

17

まあ、サファリ/ iOSがこれらの制限を示しています

  • 復号化されたGIFの最大サイズ、PNG、 TIFF画像は3メガピクセルです。 つまり、width * height≤3 * 1024 * 1024であることを確認してください。デコードされたサイズは、イメージのエンコードされたサイズよりはるかに大きいことに注意してください。

  • JPEGの最大復号画像サイズは、サブサンプリングを使用する32メガピクセルです。 JPEG画像は、サブサンプリングのために最大32メガピクセルになる可能性があります。これにより、JPEG画像の1/16のピクセル数のデコードが可能になります。 2メガピクセルを超えるJPEG画像はサブサンプリングされます。つまり、縮小されたサイズにデコードされます。 JPEGサブサンプリングにより、ユーザーは最新のデジタルカメラの画像を見ることができます。

  • 個々のリソースファイルは10 MB未満でなければなりません。 この制限は、HTML、CSS、JavaScript、または非ストリームメディアに適用されます。

http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/CreatingContentforSafarioniPhone/CreatingContentforSafarioniPhone.html

3

あなたのアップデートに基づいて、私はまだだと思いますが、実際にはではこの方法を使用しないことをお勧めします。 Googleのイメージ検索がこのように機能しない理由があるとは思わない?

このように、私はAjax経由で必要に応じてイメージを読み込むことをお勧めします。 (つまり、ユーザーが現在表示されている画像の下にスクロールしている場合)。これにより多くの接続が使用されますが、サムネイルを目立たせることができます。一般的なアプローチは、バックエンドに-generatedサムネイル画像「シート」の新しいイメージが追加されるなど

+2

Middaparkaは、1ページに6000画像を読み込むための最良の方法を提案しています。この方法はLazy Image Loadingと呼ばれています。リソース数が膨大で使いやすく、非常にカスタマイズ可能なjQueryプラグインhttp://google.com/search?q =怠惰+画像+ローディング –

関連する問題