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属性を活用した最適化
srcset
とsizes
を組み合わせて、画面サイズごとに適切な画像サイズを提供できます。
<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>
タグを活用することで、
- レスポンシブデザインの実現(異なる画面サイズで最適な画像を提供)
- フォーマット最適化(WebPなどの新しい形式を優先)
- アートディレクションの適用(異なるレイアウトに応じた画像変更)
が可能になります。適切に使用することで、パフォーマンス向上やユーザー体験の最適化につながるため、積極的に取り入れていきましょう。