menu
menu

キーワード検索

 

前月(8月)の人気記事トップ10

  1. ( 1 - ) 【CSS】CSSだけでドロップダウンメニュー
  2. ( 2 - ) 【jQuery】jQueryでドロップダウンメニュー
  3. ( 5 ↑) 【Mac】Macのユーザー名とアカウント名を変更する
  4. ( 3 ↓) 【CSS】CSSだけでサイズ可変・スマホ対応のアコーディオン
  5. ( 4 ↓) 【CSS】レスポンシブデザインのブレークポイントは⁉
  6. ( 6 - ) 【CSS】スマホサイト向け横にスクロールするナビゲーション
  7. ( 8 ↑) 【PHP】PHPでシンプルなメールフォーム
  8. ( 9 ↑) 【CSS】CSSだけでブロック要素の表示非表示(トグルボタン)
  9. ( - ↑) 【CSS】スマホ対応CSSだけでドロップダウンメニュー
  10. ( - ↑) 【iPhone・iPad】投稿の準備中にエラーが起きました。後でやり直してください。
このエントリーをはてなブックマークに追加

【HTML5.1】HTML5.1で追加されたpicture要素を使って画像を表示する

【CSS】画像をレスポンシブデザインに対応させる

こんにちは(・∀・)

今日はHTML5.1で追加されたpicture要素を使って画像を表示する方法をご紹介します。

レスポンシブデザインの画像

以前【CSS】画像をレスポンシブデザインに対応させるで画像をユーザーの使用環境に合わせた大きさで表示するようにする方法をご紹介しました。

その方法であれば大きい画像が1枚あればどんな大きさに表示画面が変わっても画像をキレイに表示させることが可能です。

 

こんな感じ。

Result

サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
QRコード

しかしそれだと画面解像度の低い端末でも無駄に大きなサイズの画像を表示することになります。

見る側としてはいい迷惑です。

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

サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
QRコード


picture要素がコンテナとなり、source要素でレスポンシブ画像を表示します。

レスポンシブ画像表示に当てはまらない場合はimg要素で画像を表示させます。

source要素の後ろにimg要素が来るように配置します。

詳しくはpicture要素【HTMLリファレンス】で。

  • HTML5.1 img要素 picture要素 source要素
このエントリーをはてなブックマークに追加