B.picture要素、source要素、media属性

Webデザイン

カテゴリー: レスポンシブ画像  閲覧数:940 配信日:2015-08-17 19:47





B方式.pictureタグ + sourceタグ(media属性 srcset属性) + imgタグ(srcset属性)


画像のアートディレクション
アートディレクションによる選択
→ 表示される画面に応じて画像を出し分け
→ ウィンドウサイズに合わせて画像を切り替え
・pictureタグ
・sourceタグmedia属性、sourceタグsrcset属性
・imgタグsrcset属性、もしくは、imgタグsrc属性


具体例1
・ウィンドウサイズが 1200px 以上なら 1200w.png 読込
・ウィンドウサイズが 1000px 以上なら 1000w.png 読込
・ウィンドウサイズが 800px 以上なら 800w.png 読込
・ウィンドウサイズが 600px 以上なら 600w.png 読込
・ウィンドウサイズが 400px 以上なら 400w.png 読込
・ウィンドウサイズが 200px 以上なら 200w.png 読込
・上記以外(ウィンドウサイズが 200px 未満)なら img srcset で指定した内容(800w.png) 読込
<picture>
 <!--[if IE 9]><video style="display: none;"><![endif]-->
 <source srcset="./img/1200w.png" media="(min-width: 1200px)">
 <source srcset="./img/1000w.png" media="(min-width: 1000px)">
 <source srcset="./img/800w.png" media="(min-width: 800px)">
 <source srcset="./img/600w.png" media="(min-width: 600px)">
 <source srcset="./img/400w.png" media="(min-width: 400px)">
 <source srcset="./img/200w.png" media="(min-width: 200px)">
 <!--[if IE 9]></video><![endif]-->
 <img srcset="./img/800w.png" alt="CSSデモ">
</picture>


動作確認
・成功


C方式.srcset属性 x記述子


ピクセル密度デスクリプタ(1x、1.5x、2x、3x など)を使用
Retina対応
→ 高解像度のディスプレイをサポート
→ Retinaディスプレイ用に画像を切り替え
・「imgタグsrcset属性 x記述子」 もしくは 「sourceタグsrcset属性 x記述子」

上記に「pictureタグ × sourceタグ」が加わる場合もあり
・つまり「srcset属性 x記述子」がある場合は、常にC方式
※「B方式」でかつ「C方式」なケースもあり得ると言うこと!

動作確認
・Retinaディスプレイを保持していないため未検証

週間人気ページランキング / 8-27 → 9-2
順位 ページタイトル抜粋 アクセス数
1 Design 0 7
2 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 3
3 「東京都」のカラーコード取得は難しい | カラーコード(色) 2
3 RGB → HSL 変換式 / 約分対応 2
3 CopyTabTitleUrl | Chrome 拡張機能 2
3 Sword Art Online dress up game 2
3 Fireworks で背景画像透明化 | Fireworks CS3(Fireworks) 2
4 計算方式の違いは色々な設定が可能だから 1
4 HTML Instant を選択した理由 / 動作確認例 1
4 これまでの経緯 / 私が考える、FontAwesome の問題点 / 1.CDNが落ちると、自分のサイトが表示されなくなる 1
4 Chrome コンソール画面で CSSの:hover 適用スタイルを確認 | Google Chrome(ブラウザ) 1
4 このエントリーの結論 / 主な機能と使い方 / 補足 1
4 絶対パス | HTML 1
4 height:100%;の効果を打ち消す(あるいは上書きする)には、height:auto!important; | CSS 1
4 align-items: center; 1
4 「Google Chrome」を再起動するためには「chrome://restart」へアクセスします。 | Google Chrome(ブラウザ) 1
4 「水彩画」画像フィルタ実行例 | 画像フィルタ(画像) 1
4 Fireworks が開発終了したと思われる理由 1
4 HTML5では、「input 要素」「button 要素」を「フォームタグ」の外で直接記述しても良い | HTML5(HTML) 1
4 RGBの種類 / ビットカラー | RGB(色) 1
2026/9/3 5:05 更新
指定期間人気ページランキング / 2020-5-30 → 2026-9-2
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 8948
2 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 4632
3 Design 0 4243
4 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 3805
5 RGBの種類 / ビットカラー | RGB(色) 2835
6 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 2802
7 「bgcolor」「background-color」「background」の違い | CSS 2114
8 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 2106
9 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 1997
10 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 1902
11 16進数カラーコード / 2進数 1895
12 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 1733
13 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 1708
14 「属性」「プロパティ」「アトリビュート」の違い | CSS 1695
15 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能(ブラウザ) 1577
16 「Bootstrapデザイン」✕「グラフ」 | 2系(Bootstrap) 1548
17 「東京都」のカラーコード取得は難しい | カラーコード(色) 1485
18 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 1404
19 「西武鉄道株式会社」のブランドカラーは、3色(#3366CC、#66CCFF、#33CC66) | 色 1267
20 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 1256
2026/9/3 5:05 更新