コース一覧
レスポンシブWeb制作:スマホ対応して公開する
スマホで見ると崩れる

レスポンシブWeb制作:スマホ対応して公開する

viewport、メディアクエリ、相対単位、モバイルファーストを使い、PC・スマートフォン両対応のページを完成・公開する10レッスンの無料コースです。

1
レスポンシブデザイン
01. スマホで見ると崩れる15分
02. viewportの設定15分
03. メディアクエリ20分
04. 相対単位20分
05. モバイルファースト25分
06. 章末仕上げ 全画面対応25分
2
総合制作
01. 完成度チェックと修正15分
02. デザインを磨こう15分
03. 自分らしさを足そう20分
04. 完成・公開しよう15分

スマホで見ると崩れる

はみ出しと横スクロール

パソコンで作ったページをスマホで見ると

ここまでのページは、横に広い画面を前提に組み立ててきました。写真は 160px、作品カードは 3 列、ナビは横一列。パソコンで見るとちょうどよく見えます。ところがスマホの画面幅は 400px 前後しかありません。中身が入りきらないと、ページは横に長くはみ出し、横にスクロールしないと読めない状態になります。

画面の幅に合わせて見た目が変わるようにすることを、レスポンシブデザインと呼びます。この章はまるごとその話です。

はみ出しを止める考え方

はみ出しの原因は、幅を数値で固定していることです。width: 160px と書くと、画面が 320px しかなくても 160px のまま居座ります。そこで、上限だけを決めて、あとは画面に合わせて縮むようにします。

max-width: 100% は「親要素より大きくならない」という指定で、画像のはみ出しを止める定番です。あわせて height: auto を書いておくと、縦横の比率を保ったまま縮みます。

書くこと

プロフィール写真に max-width と height: auto を足します。もうひとつ、入力欄の文字サイズを 16px にします。iPhone の Safari は、文字が 16px より小さい入力欄に触れると画面を勝手に拡大します。ここを 16px にしておくと、その拡大が起きません。メディアクエリはまだ使いません。まずは固定値をゆるめるところからです。

課題

  1. .profile-photo に max-width: 100% と height: auto を足して、写真がはみ出さないようにする
  2. .form-input に font-size: 16px を足して、スマホで入力欄に触れても拡大されないようにする

ヒント

幅の指定を消すのではなく、上限を決める指定を足すと考えてください。

`height: 160px` のままだと縮んだときに縦横の比率がくずれます。`auto` にします。

`.profile-photo` に `max-width: 100%;` と `height: auto;`、`.form-input` に `font-size: 16px;` を書きます。

index.html
style.css
プレビュー

できているか

  • プロフィール写真に幅の上限が決まっている
  • 入力欄の文字が 16px になっている
エディタを読み込んでいます