コース一覧
レスポンシブ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分

モバイルファースト

モバイルファースト

小さいほうから書く

いまの CSS は、土台に広い画面向けの指定が並び、せまい画面のことをあとから直す形になっています。この順番だと、スマホ用に打ち消す指定がどんどん増えて読みにくくなります。

そこで逆にします。土台にはスマホの見た目だけを書き、広い画面で足したいものだけを @media (min-width: 600px) の中に入れる。この書き方をモバイルファーストと呼びます。

打ち消しではなく上書きになる

たとえばナビゲーションです。スマホでは縦に積み、広い画面では横一列にしたい。土台に flex-direction: column を書き、メディアクエリの中で flex-direction: row に戻します。土台の指定はスマホでそのまま使われ、広い画面のときだけ 1 行が上書きされます。どちらの見た目も、読む場所が 1 か所ずつに決まるので追いやすくなります。

書くこと

ナビゲーション、プロフィール、フッターのリンクを、土台では flex-direction: column の縦並びにし、メディアクエリの中で row に戻します。送信ボタンは土台で width: 100% の全幅、広い画面で width: auto に戻します。

見出しと余白も、土台をスマホ向けの小さい値にして、大きい値のほうをメディアクエリへ移します。趣味タグとスキル表の文字も土台をスマホ向けの 0.875rem にします。この二つを広い画面で戻す指定は、次の章末仕上げで足すので、今回は土台だけで止めておいてください。

課題

  1. .site-nav ul と .profile と .footer-links を土台では flex-direction: column にし、メディアクエリの中で row に戻す
  2. .submit-button を土台で width: 100% にし、メディアクエリの中で width: auto に戻す
  3. h1 h2 .section .site-header .site-footer の余白と文字を土台ではスマホ向けの小さい値にし、大きい値をメディアクエリへ移す
  4. .hobby-item と .skill-table のセルに、スマホ向けの font-size: 0.875rem を土台で足す

ヒント

メディアクエリの中には、広い画面で変えたいものだけを書きます。同じ値をもう一度書く必要はありません。

`.profile-text` の `flex-grow` と `flex-basis` は、横並びのときだけ必要な指定です。メディアクエリの中へ移します。

`.site-nav ul` は土台が `flex-direction: column;` と `gap: 0.75rem;`、メディアクエリの中が `flex-direction: row;` と `flex-wrap: wrap;` と `justify-content: center;` と `gap: 1.25rem;` になります。

index.html
style.css
プレビュー

できているか

  • ヘッダーの左右の余白がスマホ向けの値になっている
  • 趣味タグの文字が土台ではスマホ向けの大きさになっている
  • スキル表のセルの余白が土台ではスマホ向けになっている
エディタを読み込んでいます