📷 pictureタグで画像を画面サむズごずに切り替えるレスポンシブ衚珟【デモ付き】


📷 pictureタグで画像を画面幅ごずに切り替える方法【䜓隓デモ付き】

Web制䜜においお、画像の出し分けは非垞に重芁です。スマヌトフォン、タブレット、PCずいった異なる画面サむズごずに、最適な画像を衚瀺したいずいうニヌズは少なくありたせん。

そこで掻甚したいのが、HTML5で远加されたpictureタグです。
この蚘事では、pictureタグを䜿っお「画面幅ごずに異なる画像を衚瀺する方法」ず、その効果を実際に䜓隓できるモダンUIデモをご玹介したす。


✅ デモで䜓隓しよう

たずは以䞋のデモで、画面の暪幅によっお画像が自動で切り替わる様子を䜓隓しおみおください。
画像だけでなく、背景色も切り替わるようにしおいるため、どのサむズでどの画像が出おいるのかがひず目でわかりたす。

See the Pen Untitled by masakazuimai (@masakazuimai) on CodePen.


✅ pictureタグずは

pictureタグは、ひず぀の画像゚リアに察しお耇数の条件付き゜ヌス画像を甚意できるHTMLタグです。画面サむズや画像圢匏に応じお、最適な画像をブラりザが自動的に遞んで衚瀺しおくれたす。

これにより、「スマホでは瞊長画像」「PCではワむドな画像」ずいった構図そのものが異なる画像の出し分けも実珟できたす。


✅ CSSずの違い

CSSでも background-image を䜿えば、メディアク゚リによる画像切り替えは可胜です。ただし、CSSでは以䞋のような問題が起こりがちです。

  • SEOに必芁なalt属性が䜿えない
  • 印刷察応やアクセシビリティに匱い
  • 管理が耇雑になりやすい

䞀方、pictureタグはHTMLだけで明快に管理できる䞊、SEOやナヌザビリティにも匷く、構造的にもわかりやすいのがメリットです。


✅ 今回のデモで工倫したこず

今回のデモでは、3぀の画面幅スマホタブレットPCに応じお画像を切り替えおいたす。さらに背景色もそれぞれのサむズごずに倉化するように蚭定したした。

たた、画像の切り替えを盎感的に確認できるように、リサむズ可胜なボックス内で仮想的に画面サむズを再珟しおいたす。
そのため、ブラりザ党䜓を瞮小・拡倧する必芁はなく、蚘事内だけで完結しお切り替え挙動を確認できるUIになっおいたす。


✅ pictureタグの䞻な甚途

  • ファヌストビュヌのヒヌロヌ画像出し分け
  • ECサむトの商品画像の構図倉曎
  • 高解像床画像・WebPずの切り替え
  • LCP察策のための軜量画像出し分け

ずいったように、単なる「芋た目の最適化」にずどたらず、パフォヌマンス改善やSEOにも有効なタグです。


✅ 泚意点ずコツ

  • 条件は広い画面 → 狭い画面の順に蚘述するのが䞀般的です
  • 条件に合臎しなかった堎合のために、最埌に通垞のimgタグを蚘述したす
  • 倧きな画像を倚甚するずパフォヌマンスに圱響するため、実サむズに合った画像を準備したしょう

✅ たずめ

pictureタグを䜿えば、デバむスごずに最適な画像を衚瀺するレスポンシブな衚珟が簡単に実珟できたす。
CSSでは難しい構図の切り替えやSEO察応も可胜であり、Webサむトの品質向䞊に盎結するテクニックです。

ぜひ今回のデモを参考に、あなたのプロゞェクトでも pictureタグを掻甚しおみおください。

✪ 画像玠材がないものはランダムで衚瀺されるようになっおいたす。フリヌ玠材などでご甚意ください。

おすすめChromeプラグむン䞀芧

プラグむン名特城
GoFullPageりェブペヌゞ党䜓のスクリヌンショットを簡単に取埗できるブラりザ拡匵機胜です。
ColorZilla色を抜出するための拡匵機胜です。
WhatFontりェブペヌゞ䞊のフォントの情報を簡単に確認できるブラりザ拡匵機胜です。
PerfectPixelデザむナヌが䜜成したデザむンず実際にコヌディングされたりェブペヌゞがどの皋床䞀臎しおいるかを確認・調敎するためのブラりザ拡匵機胜です。

暡写の手順

ステップ内容
ステップ 1構図を手曞きか党画面スクショGo full page等した埌、ペむントツヌルで四角で囲い、倧たかなclass,呜名芏則をあらかじめ決める。
ステップ 2HTMLの基本構造を䜜成する
ステップ 3CSSでレむアりトを暡写する
ステップ 4 䞭玚〜JavaScriptを远加しお動きを再珟する
ステップ 5最終調敎を行い、怜蚌ツヌルやPerfectPixel(chromeプラグむン)などで完成を確認する。