コース一覧
レスポンシブ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 を切り替える

viewport を入れたので、ブラウザは本当の画面幅を教えてくれるようになりました。次は、その幅によって別の CSS を当てます。使うのがメディアクエリです。

CSS

@media (min-width: 600px) { .work-list { grid-template-columns: repeat(3, 1fr); } }

@media のうしろの丸かっこが条件です。min-width: 600px は「画面幅が 600px 以上のとき」という意味で、中の指定は条件に合うときだけ効きます。合わないときは書いていないのと同じあつかいになります。この切り替えの境目を、ブレークポイントと呼びます。

せまいほうを土台にする

作品ギャラリーはいま 3 列で固定です。スマホでは 1 枚が 100px ほどになり、文字がつぶれてしまいます。そこで、ふだんの指定を 1 列にして、3 列は 600px 以上のときだけ足します。

1 列のときは 2 マス結合も意味がないので、.work-card:first-child の指定はいったん外します。広い画面用に戻すのは、この章の最後の回です。

書くこと

.work-list を grid-template-columns: 1fr の 1 列にし、grid-auto-rows と .work-card:first-child を土台から外します。そしてファイルのいちばん下にメディアクエリを足し、その中に 3 列の指定と grid-auto-rows を書きます。body の余白も、ふだんは 16px、600px 以上では 24px に分けます。

課題

  1. .work-list を grid-template-columns: 1fr の 1 列にし、grid-auto-rows と .work-card:first-child を土台から外す
  2. ファイルの末尾に @media (min-width: 600px) を足し、その中に 3 列の指定と grid-auto-rows を書く
  3. body の余白を土台では 16px にし、メディアクエリの中で 24px にする

ヒント

土台にはせまい画面の見た目を書き、広い画面で変えたいものだけをメディアクエリの中に入れます。

メディアクエリの中はセレクタごと書きます。プロパティだけを並べても効きません。

`@media (min-width: 600px) { .work-list { grid-template-columns: repeat(3, 1fr); } }` の形です。

index.html
style.css
プレビュー

できているか

  • 広い画面ではページの左右の余白が 24px になる
  • 作品カードの 2 マス結合を土台から外している
エディタを読み込んでいます