公開日: 2019-09-20
更新日: 2020-05-27

iPhoneに特化してレスポンシブ・イメージを設計する。

レスポンシブ・イメージ設計

tiny-services.comや他のサイトなど、日本語のウェブサイトのアクセス情報を総合すると、多かれ少なかれ、総PVのうち、75%がモバイル、25%がデスクトップで、モバイルのうち、30%強がiPhone 6 / 6s / 7 / 8という状況です。

大項目 大項目割合 小項目 小項目割合 全体における割合
モバイル 75% iPhone 6 / 6s / 7 / 8 30% 25%
その他 70% 50%
デスクトップ 25% - - 25%

そこで、iPhone 6/6s/7/8向けに合わせた画面設計を考えます。以下はiPhoneのモデルとピクセル解像度をまとめた表です。

モデル ピクセル解像度
iPhone 6 / 6s / 7 / 8 1334 x 750
iPhone 6 Plus / 6s Plus / 7 Plus / 8 Plus 1920 x 1080
iPhone XR / 11 1792 x 828
iPhone X / XS / 11 Pro 2436 x 1125
iPhone XS Max / 11 Pro Max 2688 x 1242

iPhone 6 / 6s / 7 / 8はのピクセル解像度は1334 x 750です。レスポンシブ・イメージを用意する際には、横幅のピクセル幅を元に設計するので、縦に保つ場合には、横幅が750px、横に持つ場合には、横幅が1334pxが基準となります。
tiny-services.comで採用しているspectre.cssやBootstrapなどのCSSフレームワークでは、横幅を12分割するので、それを基準に考えると、以下の表のようになります。

横幅 col-12 (12/12) col-10 (5/6) col-8 (8/12) col-6 (6/12) col-4 (4/12) col-3 (3/12) col-2 (2/12) col-1 (1/12)
縦持ち ピクセル数 750 625 500 375 250 187.5 125 62.5
横持ち ピクセル数 1334 1111.67 889.33 667 444.67 333.5 222.33 111.17

tiny-services.comでは、モバイル向けの画像に<col-6><col-12>を割り当てています。
そのため、画像の横幅としては、375px、667px、750px、1334pxを用意することになるのですが、750pxの画像があれば667pxに流用できるので、375px、750px、1334pxの3種類を作れば充分ということになります。
これをタグで表現すると、例えば以下のようになります。

画面の横幅が961px以上の場合は画面の横幅の25%、それ以外の場合は画面の横幅の50%を占める。

<img sizes="(min-width: 961px) 25vw, 50vw"
     srcset="sample-375x197.png   375w,
             sample-750x394.png   750w,
             sample-1334x700.png 1334w
            "
     alt="sample" />

画面の横幅が961px以上の場合は画面の横幅の50%、それ以外の場合は画面の横幅の100%を占める。

<img sizes="(min-width: 961px) 50vw, 100vw"
     srcset="sample-375x197.png   375w,
             sample-750x394.png   750w,
             sample-1334x700.png 1334w
            "
     alt="sample" />

レスポンシブ・イメージの設計はモバイル向けに画像を提供する際のデータ削減にとても効果的です。 その分、タグが複雑になりますが、がんばって設定して、よりよいユーザ・エクスペリエンスを提供しましょう。