メディアクエリでスマホ対応
- #HTML
- #css
- #tips
こんにちは!
上毛印刷WEB制作担当のソーヤです。
今回は、みなさんお使いのスマートフォンにとって見やすいWEBサイトをコーディングする方法を書いていきます!
スマホサイトについて
皆さんは普段、どの端末からWEBサイトをご覧になりますか?
PCですか?タブレットですか?スマホですか?
現在(執筆時2022年)、日本のインターネットを利用するユーザーの約7割がスマホを使っています。
すごくないですか?
そんな高い割合なのかと思いつつも、
私自身、ネットで買い物するのも、動画を見るのも、ラジオを聞くのも、
全てスマホで済んでいます。
これはつまり、これから作るWEBサイトはスマートフォンに対応する必要があるということです!!
レスポンシブサイト
レスポンシブサイトとは、PC用のHTMLとスマホ用のHTMLが同一で、
CSSによって見た目がPC用とスマホ用に変化するWEBサイトのことです。
かつてはこんなような作りがスタンダードでした。
サーバー側で判別するか、クライアント側で判別するかの差はありますが、
このようにPC用のHTML、スマホ用のHTMLと分かれて表示をさせていたこともありました。
ですが、現在は、
このように一枚のHTMLでPC・スマホ両方に対応するサイト、つまりレスポンシブサイトが主流になっています。
メディアクエリ
では、具合的にどのようにコーディングすればレスポンシブサイトが作れるの?というと・・・
一番代表的なのではメディアクエリというものです。
こんなコードをCSSに記述します。
@media screen and (max-width: 768px) {
}
意味は、画面の幅768px以下の時に、このメディアクエリ内のCSSを適応するということです。
つまり、このメディアクエリ内に記述すると画面の幅によってCSSをかき分けられるので、
タブレットやスマホの画面のサイズ用にCSSを切り替えることができます。
ちなみに、CSSを切り替える特定のサイズ(この場合768px)、をブレイクポイントと言います。
メディアクエリの記述方法
では、具体的にどのように記述するのかを見ていきましょう!
まず、スマホサイトにしたいHTMLの<head>タグの中にビューポートの記述を入れましょう。
<meta name="viewport" content="width=device-width, initial-scale=1">
これでデバイスの画面の幅を検知して、正しくスマホ対応ができます。
では次にCSSです。
.block{
width: 980px;
height: 500px;
margin: auto;
}
例えばこのように幅が980px、高さが500pxの要素が中央寄せになっています。
この要素をスマホ表示にする際、
現在の標準的なスマホのサイズ(375px)をはみ出してしまいます。
そこで、メディアクエリの登場です。
すぐ下にこのように記述しましょう。
.block{
width: 980px;
height: 500px;
margin: auto;
}
@media screen and (max-width: 768px) {
.block{
width: 100%;
height: auto;
}
}
上記のようにすることで、
画面幅が768px以下になったとき、block要素の幅と高さが画面の大きさに対応するようになり、
スマホ画面をはみ出さなくなります。
PC用に書いたCSSを打ち消すイメージですね。
まとめ
これが基本的なレスポンシブサイトのコーディング方法になります。
地道に地道にPC用に記述したCSSをスマホ用にするために、
プロパティの値を書き換えていきます。
慣れるとPCより、スマホの方がコーディングが楽だと感じることもしばしばあるので、
ぜひ色々とレスポンシブサイトを作ってみてください!
この記事に対するご意見・ご感想・ご質問等ありましたら、
ぜひ下記フォームにてお送りください。