CSS

小学生必見!CSSのレスポンシブ対応のやり方について

コーボー先生

今日きょうはCSSのレスポンシブ対応たいおうについて説明せつめいするよ。

ベレボちゃん

先生せんせい!レスポンシブ対応たいおうってなんですか?

コーボー先生

ウェブサイトをパソコンやスマートフォンなど、いろんなデバイスでたときに、そのデバイスにわせてCSSをえて表示ひょうじさせることをいます。

ベレボちゃん

へー、そうなんですね。でも、どうやってえていくんですか?

コーボー先生

CSSの「メディアクエリ」という機能きのう使つかってえていくんだよ。くわしくおはなしするからよくいてね。

ベレボちゃん

わかりました!

CSSのレスポンシブ対応たいおうとは?

いまはスマートフォンやタブレット、パソコンといろんなデバイスが使つかわれていますよね?

モニターのはばがばらばらなので、どのはばでもなるべくきれいにえるように、WEBサイトのととのえてあげる必要ひつようがあります。

そこで、CSSでモニターのはばをチェックし、「このはばならこのCSS、こちらのはばだったらこのCSS」といったぐあいに、モニターのはばわせてCSSがわるようにくことができます。

これがレスポンシブ対応たいおうです。

レスポンシブ対応たいおうかた

まずはHTMLファイルのheadタグないしたのコードをきます。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

ここの「viewportビューポート」とは、ブラウザでWEBサイトが表示ひょうじされている画面がめんのことをいます。

widthウィズ=deviceデバイスwidthウィズ」は、はばはデバイスのはばわせてね、という意味いみです。

initialイニシャルscaleスケール=1.0」は、とくなにもしないなら1ばいおおきさで表示ひょうじしてね、という意味いみです。

この1行はわらずれるものなので、コピペしてOKです。

つぎに「メディアクエリ」をいていきます。

メディアクエリのかた

メディアクエリはしたのようにきます。

@media screen and (max-width: 768px) {
  /* この中にCSSを書きます。*/
}

「@mediaメディア」は、これからメディアクエリをきますよ、という意味いみですね。

screenスクリーン」は、PCやスマホの画面がめんについて、という意味いみです。

maxマックスwidthウィズ: 768pxピクセル」は、画面がめんはば最大さいだいで768px、という意味いみです。

つまり、画面幅がめんはばが768px以内いないのときは、このなかかれたCSSを使つかうよ、ということになります。

たとえば、

@media screen and (max-width: 768px) {
  body {
    background-color: #ff0000;
  }
}

いてみましょう。

した動画どうがみたいにブラウザがタブレットくらいのサイズになると、背景はいけいいろあかになります。

もうひとつ、別の書き方があります。

@media screen and (min-width: 600px) {
 /* この中にCSSを書きます。 */
}

さっきとちがうのは、「minミンwidthウィズ: 600pxピクセル」となっています。

これは、画面がめんはば最小さいしょうで600pxまでという意味いみです。

つまり、画面幅がめんはばが600px以上いじょうのときは、このなかかれたCSSを使つかうよ、ということになります。

たとえば

@media screen and (min-width: 600px) {
  p {
    font-size: 40px;
  }
}

いてみましょう。

したの動画どうがのようにスマホサイズから画面幅がめんはばひろげると、文字もじおおきくなることがわかります。

maxマックスwidthウィズminミンwidthウィズをいつ、どうやって使つかえばいいの?

さて、ここでよくかれる質問しつもんがあります。

「メディアクエリのかたはわかったけど、max-widthとmin-widthはいつ、どういうときに使つかうんですか?」

2つのかたがあるので、どっちを使つかえばいいか、まよいますよね。

こたえは、

  1. スマホからCSSをはじめたのなら、min-widthを使つか
  2. PCからCSSをはじめたのなら、max-widthを使つか

メディアクエリを使う前にCSSを書くときに、スマホでの見え方を先に書いていった場合はmin-widthを使いましょう。

/* メディアクエリ使ってないここには、スマホ用のCSSが書いてある */

@media screen and (min-width: 600px) {
 /* ここにタブレット用のCSSを書く */
}

@media screen and (min-width: 900px) {
 /* ここにPC用のCSSを書く */
}

うえのように最初さいしょにスマホようのCSSをいたなら、つぎのメディアクエリでは「min-width: 600px」として、タブレットようのCSSをきます。

そのあとで、「min-width: 900px」と、PCようのCSSをきます。

ぎゃくにPCようのCSSからはじめた場合ばあいは、max-widthを使つかいます。

/* メディアクエリを使ってないここには、PC用のCSSが書いてある */

@media screen and (max-width: 900px) {
  /* ここにはタブレット用のCSSを書く */
}

@media screen and (max-width: 600px) {
  /* ここにはスマホ用のCSSを書く */
}

このように最初さいしょにPCようのCSSをいた場合ばあいは、さきに「max-width: 900px」でタブレットようを、

そのあとで「max-width: 600px」でスマホようのCSSをきます。

まとめ

このように「@media screen and (〜〜〜){ }」を使えば画面がめんはばによってCSSをえることができます。

これがレスポンシブ対応たいおうです。

次回じかいは、実際じっさいにコードをきながらレスポンシブ対応たいおうをみんなにもやってもらうので、がんばりましょうね!