レスポンシブデザインとは?スマホ対応の基本

ノートパソコンが置かれたデスク
  1. Web制作コラム
  2. Web制作、デザイン
  3. HTML・CSS
  4. レスポンシブデザインとは?スマホ対応の基本

レスポンシブデザインとは?スマホ対応の基本

スマホでも、
崩れない。

RESPONSIVE

「PCでは綺麗なのに、スマホで見ると崩れている…」

画面サイズに合わせて整える「レスポンシブ」が、今は必須です。

「パソコンでは整っているのに、スマートフォンで開いたら文字が重なっていた」——この記事は、HTMLとCSS、そしてよく使うタグまで読み進めた方への、入門の仕上げです。読み終わる頃には、レスポンシブという言葉の中身と、スマートフォンで崩れる場所の見つけ方が分かります。

先に結論から。レスポンシブデザインとは、1つのページの中身を、画面の幅に合わせて自動で並べ替える作り方です。スマートフォン用のページを別に作るのではありません。中身は1つ、並べ方だけを変える。この違いが分かると、修正の考え方まで変わります。

洗濯物と同じ。干す場所が変われば、並べ方が変わる

晴れた日、広いベランダに洗濯物を干すときは、タオルもシャツも横一列に並べます。雨の日に部屋の中の物干しに移すときは、同じ洗濯物を二段に折り返して縦に干します。洗濯物の量も種類も変わっていません。変わったのは、干す場所の広さと並べ方だけです。

中身は同じ。画面の幅に合わせて、並べ方だけが変わるお知らせABCパソコン = 横に3つ並べるお知らせABCタブレット = 2つずつABCスマホ = 縦1列
中身は同じ3つ。画面が狭くなるほど、横並びが縦積みに変わります。

レスポンシブがやっているのは、まさにこれです。パソコンでは横に3つ並んでいた案内が、スマートフォンでは縦に3つ積まれる。文章も画像も差し替えていません。CSSが「今は狭い画面だから縦に積もう」と並べ替えているだけです。

画面の幅に、線を1本引く

切り替えの正体は、CSSに書く1行です。@media (max-width: 768px) { … }と書くと、日本語では「画面の幅が768ピクセル以下のときだけ、この中の指定を使ってください」という意味になります。max-widthは「最大の幅」、つまり上限です。

「何ピクセルまでなら、この見た目」と線を引く狭い画面広い画面480px768pxスマートフォン縦1列に並べるメニューは折りたたむタブレット2列に並べる画像は少し小さくパソコン3列に並べる・左右に余白メニューは横一列で表示この区切り線を、制作では「ブレイクポイント」と呼びます
線を引く位置は自由。多くの現場では480pxと768pxが目印になります。

この線を、制作ではブレイクポイント(切り替え点)と呼びます。線をどこに引くかに絶対の正解はなく、載せる情報の量で決めます。私たちは「文字が2行で収まらなくなったところ」を目安に線を引くことが多いです。

作る順番は、スマートフォンが先

どちらから作るかで、後の作業がまるで変わるパソコンから作ると情報を全部のせるスマホで入りきらずどれを消すか悩む全部大事に見えてしまい、削る判断ができません。結局、文字を小さくして詰め込む形になりがちです。スマートフォンから作ると一番大事な情報を先に決める広い画面では余裕を足すだけ狭いところで優先順位が決まるので、広げるのは足し算だけ。迷いが減り、作り直しも起きにくくなります。
狭いところで優先順位を決めてから、広い画面で足していきます。

レスポンシブで一番差が出るのは、どちらの画面から作り始めるかです。パソコンから作ると、情報を全部のせられてしまいます。その後スマートフォンに移したとき、全部が大事に見えて、何を削るか決められません。

反対に、狭いスマートフォンから作ると、最初に「この画面で一番先に伝えることは何か」を決めることになります。1つ決まれば、あとは広い画面で余裕を足すだけ。これをモバイルファースト(スマートフォン優先)と呼びます。順番を変えるだけで、作り直しがはっきり減ります。

崩れる場所は、だいたい決まっている

スマートフォンで崩れる場所は、だいたいこの3つ表が画面からはみ出す応募文字が小さすぎて読めない状態です1. 横に長い表→ 横スクロールできる箱に入れるか、縦積みに変える2. 小さすぎるボタン→ 指で押せる大きさ(およそ44px四方)まで広げる3. 縮みすぎた文字→ 本文は16px前後を下限にして、行間を広げる
表・ボタン・文字サイズ。この3つを先に見れば、大半は防げます。

スマートフォンでの崩れは、ほとんどが3か所です。横に長い表は画面からはみ出して、左右に揺れるページになります。小さすぎるボタンは指で押せません。人差し指の先は、画面の上でおよそ44ピクセル四方を覆います。それより小さいボタンは、隣を押してしまいます。

3つめが縮みすぎた文字です。本文を12ピクセルまで小さくすれば情報は収まりますが、その画面は電車の中で読めません。私たちは本文16ピクセル前後を下限にして、それで収まらないときは文字を小さくせず、載せる情報のほうを見直します。

CCの制作現場で、実際にあった話

私たちCCコミュニケーションズがWordPressサイトを納品した直後、依頼主のご担当者から電話をいただいたことがあります。「自分のスマートフォンで見ると、お問い合わせボタンが押せないんです」。パソコンの検証画面では正常でした。実際にその方の機種で開くと、下から出てくる固定バーがボタンに重なっていました。

この一件から、私たちは公開前のチェックに「担当者の手元の実機で、全ページのボタンを実際に指で押す」という手順を入れました。パソコンの画面を細くして確かめるのは早くて便利ですが、指の太さも、通信の速さも、そこには写りません。

その画面の向こうに、誰がいるか

公開前に確かめること全ページを実機で開くボタンを指で押してみる横向きでも崩れないか見る
確かめるのは自分のためではなく、その先で押す人のためです。

求人サイトなら、応募ボタンを押すのは通勤電車の中の人かもしれません。飲食店のサイトなら、店の前で地図を開いている人かもしれません。レスポンシブは技術の見せ場ではなく、その人が片手で目的にたどり着けるようにするための作り方です。私たちが実機を触るのは、依頼主のサイトの先にいるその人を待たせないためです。

今日からできる、たった1つのこと

今日からできる、たった1つのこと

よく行くお店や会社のサイトを1つ選び、パソコンとスマートフォンの両方で同じページを開いて、「並び順が変わった箇所」を3つ書き出す。

「メニューが横一列から三本線のボタンに変わった」「写真が横2枚から縦1枚になった」「電話ボタンが下に固定された」——3つ書き出せたら、あなたはもうレスポンシブの設計を読み取っています。書き出した3つは、そのまま自分が作るときの手本になります。

まとめ

レスポンシブは、中身を1つに保ったまま、画面の幅で並べ方だけを変える作り方です。切り替えの線を引き、狭い画面から作り、表・ボタン・文字の3か所を実機で確かめる。ここまでできれば、入門の骨組みは完成です。私たちCCコミュニケーションズは、実際の案件を実機で確かめながら学べる環境で、一緒にサイトを届ける仲間を探しています。