【Labs】HTML5.1で追加されたpicture要素を使って画像を表示する
こんにちは(・∀・)
今日はHTML5.1で追加されたpicture要素を使って画像を表示する方法をご紹介します。
レスポンシブデザインの画像
以前【Labs】画像をレスポンシブデザインに対応させるで画像をユーザーの使用環境に合わせた大きさで表示するようにする方法をご紹介しました。
その方法であれば大きい画像が1枚あればどんな大きさに表示画面が変わっても画像をキレイに表示させることが可能です。
こんな感じ。
Result
サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
しかしそれだと画面解像度の低い端末でも無駄に大きなサイズの画像を表示することになります。
見る側としてはいい迷惑です。
picture要素
そんな時はHTML5.1から追加されたpicture要素を使えば解決です。
大きさの違う同じ画像をいくつか作ってサーバーにアップするだけ。
あとはpicture要素とsource要素、img要素でHTMLに組み込みます。
<picture>
<source media="(min-width: 1200px)" srcset="img-1920x1440.jpg">
<source media="(min-width: 960px)" srcset="img-1024x768.jpg">
<source media="(min-width: 835px)" srcset="img-800x600.jpg">
<source media="(min-width: 361px)" srcset="img-480x360.jpg">
<img src="image-3.jpg" alt="サンプル画像">
</picture>
Result
サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
picture要素がコンテナとなり、source要素でレスポンシブ画像を表示します。
レスポンシブ画像表示に当てはまらない場合はimg要素で画像を表示させます。
source要素の後ろにimg要素が来るように配置します。
詳しくは【HTMLリファレンス】picture要素で。