pictureタグの解説と応用

1. pictureタグとは?

<picture>タグは、異なるデバイスや画面サイズに応じて最適な画像を表示するためのHTML要素です。<img>タグと組み合わせて使用し、複数の画像ソースを指定できます。

2. 基本的な使い方

以下のコードは、画面サイズによって異なる画像を表示する基本的な例です。

<picture>
    <source srcset="image-large.jpg" media="(min-width: 1024px)">
    <source srcset="image-medium.jpg" media="(min-width: 600px)">
    <img src="image-small.jpg" alt="レスポンシブ画像">
</picture>

説明

  • <source>タグを使用して異なる条件(media属性)で表示する画像を指定します。
  • 最後の<img>タグはフォールバック用で、どの<source>タグにも当てはまらない場合に表示されます。

3. WebP形式の活用

<picture>タグを使うことで、WebP形式を優先的に表示し、対応していないブラウザではJPEGやPNGを表示することが可能です。

<picture>
    <source srcset="image.webp" type="image/webp">
    <img src="image.jpg" alt="WebP対応画像">
</picture>

4. アートディレクションの応用

単なるレスポンシブ対応だけでなく、異なる画像デザインを提供することも可能です。

<picture>
    <source srcset="image-wide.jpg" media="(min-width: 800px)">
    <source srcset="image-square.jpg" media="(max-width: 799px)">
    <img src="image-default.jpg" alt="アートディレクション画像">
</picture>

5. sizes属性を活用した最適化

srcsetsizesを組み合わせて、画面サイズごとに適切な画像サイズを提供できます。

<picture>
    <source srcset="image-400.jpg 400w, image-800.jpg 800w" sizes="(max-width: 600px) 400px, 800px">
    <img src="image-800.jpg" alt="最適化された画像">
</picture>

説明

  • srcsetには画像サイズとw単位の幅を指定。
  • sizesでどのサイズの画像を優先するかを指示。

6. まとめ

<picture>タグを活用することで、

  1. レスポンシブデザインの実現(異なる画面サイズで最適な画像を提供)
  2. フォーマット最適化(WebPなどの新しい形式を優先)
  3. アートディレクションの適用(異なるレイアウトに応じた画像変更)

が可能になります。適切に使用することで、パフォーマンス向上やユーザー体験の最適化につながるため、積極的に取り入れていきましょう。

タイトルとURLをコピーしました