ホームページ > ウェブフロントエンド > H5 チュートリアル > < picture>を使用してレスポンシブ画像を実装するにはどうすればよいですか 要素とsrcset属性?

< picture>を使用してレスポンシブ画像を実装するにはどうすればよいですか 要素とsrcset属性?

Robert Michael Kim
リリース: 2025-03-12 15:07:14
オリジナル
402 人が閲覧しました

<picture></picture>およびsrcsetを使用してレスポンシブ画像を実装します

<picture></picture>要素は、 srcset属性と組み合わせて、応答性のある画像を実装するための堅牢で柔軟な方法を提供します。さまざまな画面サイズと密度に最適化されたさまざまな画像バージョンを提供できます。これがあなたの実装方法です:

<picture></picture>要素はコンテナとして機能します。内部では、それぞれが一連の画像ソースとそれに対応する記述子を定義するsrcset属性を持つ異なる<source></source>要素を指定します。ブラウザは、デバイスの機能に基づいて最も適切な画像を選択します。最後に、 <img src="/static/imghw/default1.png" data-src="image-low-res.jpg" class="lazy" alt="&lt; picture&gt;を使用してレスポンシブ画像を実装するにはどうすればよいですか 要素とsrcset属性?" >要素をブラウザのフォールバックとして含め、 <picture></picture>をサポートしていません。

例えば:

 <code class="html"><picture> <source srcset="image-high-res.jpg 2x, image-low-res.jpg 1x" media="(min-width: 1024px)"> <source srcset="image-medium-res.jpg 1.5x, image-low-res.jpg 1x" media="(min-width: 768px)"> <source srcset="image-low-res.jpg" media="(max-width: 767px)"> <img src="/static/imghw/default1.png" data-src="image-low-res.jpg" class="lazy" alt="Description of image"> </source></source></source></picture></code>
ログイン後にコピー

この例では:

  • srcset="image-high-res.jpg 2x, image-low-res.jpg 1x"最小幅1024pxの画面に2つの画像を指定します。 2x高解像度の画像(密度の2倍)を示し、 1xは標準解像度画像です。ブラウザは、デバイスピクセル比(DPR)に基づいて最も適切なものを選択します。
  • 同様のsrcset属性は、他のメディアクエリに使用され、異なる画面サイズをターゲットにしています。
  • <img alt="&lt; picture&gt;を使用してレスポンシブ画像を実装するにはどうすればよいですか 要素とsrcset属性?" >要素は、ブラウザが<picture></picture>または<source></source>をサポートしていない場合、フォールバックを提供します。

"image-high-res.jpg""image-medium-res.jpg" 、および"image-low-res.jpg"を実際の画像ファイル名に置き換えることを忘れないでください。 alt属性は、アクセシビリティに不可欠です。

<picture></picture>srcsetの利点

<picture></picture>srcsetを使用すると、CSS max-widthを使用したり、画像編集ソフトウェアを使用して画像を変更するなど、他のレスポンシブ画像技術よりもいくつかの利点があります。

  • 正確な制御: <picture></picture>さまざまな要因(画面サイズ、ピクセル密度、デバイス機能)に基づいて、どの画像が提供されるかについての粒状制御を可能にします。これにより、すべてのデバイスで最適な画質とパフォーマンスが保証されます。
  • 効率:必要な画像解像度のみを提供することにより、帯域幅の消費を削減し、ページの負荷時間を改善します。これは、モバイルユーザーにとって特に重要です。
  • 柔軟性:各デバイスに最適な形式を活用して、 <picture></picture>要素内で異なる画像形式(例えば、より良い圧縮のためのWebp)を組み合わせることができます。
  • 将来のプルーフ: <picture></picture>要素とsrcset属性は、すべての主要な最新のブラウザによってサポートされており、この方法は多くのWebパフォーマンスの専門家によって推奨されています。

<picture></picture>およびsrcsetの画像を最適化します

画像の最適化は、 <picture></picture>およびsrcset使用する場合の高速読み込み時間に重要です。方法は次のとおりです。

  • 適切な形式を選択します。Webp 、Avif、JPEG 2000などの最新の形式を使用して、従来のJPEGまたはPNGと比較して優れた圧縮を提供します。さまざまな画面サイズと密度に対して異なる形式を使用して、品質とファイルサイズの間の最良の妥協を選択することを検討してください。
  • 圧縮:画像最適化ツール(例えば、Tinypng、ImageOptim)を使用して、大幅な品質損失なしにファイルサイズを削減します。わずかな品質の低下が許容される画像の損失のある圧縮を検討してください。
  • 適切な解決策:必要な解決策のみを提供します。小さなスクリーンのために不必要に高解像度である過度に大きな画像を避けてください。
  • レスポンシブデザインの原則: CSSを使用したレイアウトで画像が比例してスケーリングするようにします。 CSSを使用してスケーリングされる大きな画像の使用を避けてください。これは非効率的です。

ブラウザの互換性

<picture></picture>およびsrcset 、最新のブラウザーによって広くサポートされています。ただし、古いブラウザはそれらを完全にサポートしない場合があります。これがあなたが考慮すべきことです:

  • フォールバックメカニズム: <picture></picture>要素内に<img alt="&lt; picture&gt;を使用してレスポンシブ画像を実装するにはどうすればよいですか 要素とsrcset属性?" >要素を常に含めて、 <picture></picture>またはsrcsetサポートしないブラウザーのフォールバックとして含めます。これにより、画像が常に表示されることが保証されます。
  • プログレッシブエンハンスメント: <picture></picture>およびsrcset進行性の強化です。ブラウザをサポートするエクスペリエンスを改善しながら、古いブラウザーに機能的なフォールバックを提供します。フォールバック画像は、古いブラウザで使用されます。
  • テスト:さまざまなブラウザーとデバイスで実装を徹底的にテストして、一貫したレンダリングとパフォーマンスを確保します。ブラウザ開発者ツールを使用して、どの画像がロードされているかを確認し、期待に合っていることを確認します。灯台などのツールは、画像の最適化に関する貴重な洞察を提供することもできます。

以上が&lt; picture&gt;を使用してレスポンシブ画像を実装するにはどうすればよいですか 要素とsrcset属性?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート