2016-09-04 9 views
3

1つの方法について一日中読んだら、それでも私にとって何が最善であるかはまだ分かりませんが、すべてのサイトで同じことが説明されていますが、それは本当に私を心配し、誰もそれについて話しません。レスポンシブ画像、srcset、フォールバック問題のある画像と画像の比較

ケース:画像の幅が100%と高さがほぼ自動であり、画像のコンテナのサイズが30vwや40%などの動的なサイズを持っています(この場合はまだimgタグに高さと幅の値を設定する必要があります)

イメージやウェブフォーマットにもさまざまなサイズを提供したいと思ったら、ブラウザで何を選択する必要がありますか?

画像とソースタグなしでWeb画像を提供できますか? 画像方法を使用して、ブラウザに表示される画像を選択させることはできますか?

私たちが最小イメージの単純なimg srcでフォールバックを選択する必要がある理由がわからない場合、IEで大きなスクリーンを入力した場合、イメージは常にピクセル化されます。そのような場合は、低解像度の画像を提供するよりも少し待つようにすることをお勧めします。 また、フォールバックオプション付きの低解像度画像を使用しているため、個々の画像のSEOランキングにどのような影響があるかはわかりません。

+0

http://stackoverflow.com/questions/11219582/how-to-detect-my-browser-version-and-operating-system-using-javascriptこの質問は、さまざまなプラットフォームとブラウザの詳細を検出する方法を示しています。それに基づいて、あなたの写真に異なるCSSクラスを使用することができます。 – BitTickler

+0

ええ、私は、その意味で標準的なタグを使うのがセマンティック、正確、そしてセオ指向だと思います。私はできればジャバスクリプトを避けようとする。私はクリーンなソリューションが大好きです。また、ブラウザに何かをさせることを強制したくない、それはピクチャメソッドが持つと思われる問題の1つですが、まだわからない場合は、画像パラメータをどのように設定するかによって決まります – AngelLestat

答えて

7

説明はレスポンシブ画像の一般的な使用例のようです。あなたは、たとえば、大画面の50%の幅でかつ900pxより小さいビューポート上100%の幅で示されている画像を持っている場合は、あなたのHTMLは次のようになります。

<picture> 
    <source 
     type="image/webp" 
     sizes="(min-width: 900px) 50vw, 100vw" 
     srcset="image-500.webp 500w, image-1000.webp 1000w, image-1500.webp 1500w" 
    > 
    <img 
     sizes="(min-width: 900px) 50vw, 100vw" 
     srcset="image-500.jpg 500w, image-1000.jpg 1000w, image-1500.jpg 1500w" 
     src="image-1000.jpg" 
    > 
</picture> 

この道を<picture>webpをサポートするブラウザイメージはimage-*.webpファイルのいずれかを選択し、srcsetおよびsizesをサポートするブラウザはimage-*.jpgファイルのいずれかを選択し、他のすべてのブラウザはimage-1000.jpgと表示されます。

この手法の最も重要な部分は、ブラウザが画像を読み込むように正しく決定できるように、sizes属性を正しく指定することです。 https://ericportis.com/posts/2014/srcset-sizes/

「古い」ブラウザで表示したい画像は、src属性で自由に選択できます。または、Picturefillrespimageのようなツールを使用して、JavaScriptを使用して機能をポリファイリングします。

<picture>要素と<source>要素を省略し、HTTPs Acceptヘッダーを使用してサーバー側でタイプスイッチを実行することもできます。

+0

答えが遅れて申し訳ありません。非常に忙しい一日。答えとリンクをありがとう、それは長い説明ですが、より完全です。だから、この方法では、ブラウザーは、特定の画像の次元を選択することを余儀なくされていません、それはそれ自身のdesicionを作る、すべてのページは、、そうですか? – AngelLestat

+0

このメソッドでは、ブラウザがタイプ 'image/webp'をサポートしている場合、ブラウザは最初の' srcset'を選択しなければなりません。そうでなければ、 'srcset'を選択しなければなりません。しかし、 'srcset'属性の中でどのイメージが選択されるかは、ブラウザによって決まります。 – ausi

+0

ありがとうございました。まさに私が欲しかったものです。 – AngelLestat