【2020年決定版】レスポンシブWebデザインの実践。HTML・CSSの書き方

WEBデザイン

こんにちは!デザイナーのヒロです。

レスポンシブWebデザインを実践するのに、欠かせないのがメディアクエリです。

メディアクエリについては、こちらの記事でご説明していますので、ぜひご覧ください。

今回は、どのようにHTML・CSSに記載すれば、実際にメディアクエリを使えるのかご紹介しますね!

Viewport(ビューポート)を設定する

Viewportとは?

まずは、Viewportを設定します。

Viewport(ビューポート)とは、「表示領域」のことです。

作成したWebサイトを、PC・スマートフォンなどでどのような表示にするのか、変更をすることができます。

以下のように、HTMLファイルのhead内に、metaタグを以下のように設定しましょう。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
</head>

今回、Viewport(ビューポート)で設定している内容を、簡単にご説明しますね!

width = device-width は、Webサイトの幅を、デバイスの画面サイズの幅に合わせます。

つまり、PCとスマートフォンで、Webサイトの幅を変更することができます。

initial-scale = 1.0 は、Webサイトが読み込まれた時の、大きさの倍率を「1」に設定しています。

これを「2」にすると、2倍の大きさでWebサイトが読みこまれます。

Viewportは、この他にも様々な設定をすることができます。

その他の設定については、また別の記事でご説明します。

Media QueryをCSSに記述する

次に、CSSにメディアクエリを記述します。

記述の方法は、2通りあります。

① linkタグに指定する

1つ目の方法は、CSSファイルを読み込む「Linkタグ」の中に、メディアクエリを設定する方法です。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
<link rel="stylesheet" href="small.css" media="screen and (max-width:767px)">
<link rel="stylesheet" href="large.css" media="screen and (min-width:768px)">
…
</head>

この場合、「small.css」と「large.css」の、2つのCSSが設定されています。

small.cssは、画面サイズが767px以下の時に読み込まれます。

large.cssは、画面サイズが768px以上の時に読み込まれます。

つまり、small.cssには、スマートフォン向けのCSSを、large.cssには、PC向けのCSSを設定すれば、スマートフォンとPCで、Webサイトのレイアウトを変更することができます。

また、CSSの数を増やして、もっと細かい条件でレイアウトを指定することも可能です。

<link rel="stylesheet" href="small.css" media="screen and (max-width:767px)">
<link rel="stylesheet" href="medium.css" media="screen and (min-width:768px) and (max-width:1023px)">
<link rel="stylesheet" href="large.css" media="screen and (min-width:1024px)">

② CSS内に指定する

2つ目の方法は、スタイルシート(CSSファイル)の中に、メディアクエリを設定する方法です。

1つ目の方法と違い、読み込むCSSは1つです。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
<link rel="stylesheet" href="style.css" media="screen">
…
</head>

しかし、読み込んでいるCSS内(style.css)にメディアクエリを記述します。

p { font-size : 16px; }
@media screen and (min-width:767px) { 
p { color :red; }
}
@media screen and (min-width:768px) {
p { color :blue; }
}

この場合、pタグに設定したフォントの大きさは、どの画面サイズでも、16pxになりますが、画面サイズが767px以下の時、pタグのフォントの色は赤(red)になり、画面サイズが768px以上の時、pタグのフォントの色は青(blue)になります。

おすすめは、「② CSS内に指定する」

どちらの方法でも、画面サイズに合わせて変更することができますが、おすすめは、「② CSS内に指定する」方法です。

「① linkタグに指定する」の場合、画面サイズによって、CSSファイルを丸ごと読み変えます。

シンプルでわかりやすい分、画面サイズを変更した時のCSSの読み込み量が多く、表示まで時間がかかります。

「② CSS内に指定する」場合、ひとつのCSSの中で、部分的にメディアクエリが設定できるので、画面サイズを変更した時のCSSの読み込み量も少なく、表示までのスピードが早いです。

ただ、そのWebサイトでのCSSの書き方・管理の仕方などによって、どちらの方法にもメリットがありますので、最終的には、あなたが書きやすい・管理しやすいと思う方法を選んでいただいて、大丈夫です^^

レスポンシブデザインのチェック方法

メディアクエリを設定したら、レイアウトが正しく変わるか、確認しましょう。

確認の仕方は、PCのブラウザでWebサイトを表示して、ブラウザの幅を、大きくしたり小さくしたりすることで確認できます。

しかし、ブラウザに備わっている「デベロッパーツール」を使うことで、より詳細に、わかりやすく確認することができます。

今回は、Google Chrome のデベロッパーツールをご紹介します。

Google Chromeのデベロッパーツールを使う

GoogleChromeのデベロッパーツールの起動方法は、主に以下の3つです。

  • ツールバー「View」>「Developer」> 「Developer Tool」を選択
  • ブラウザ内で右クリック > 「Inspect」を選択
  • ショートカットキー(Macでは「Command + Option + I」を入力)

入力すると、デベロッパーツールが起動します。

デベロッパーツールは、様々な機能がありますが、メディアクエリを確認する上では、2つの機能を使います。

画面サイズの切り替え

代表的なスマートフォン・タブレットの画面サイズに、切り替えが簡単にできます。

どのデバイスの時に、どういうレイアウトになるのか、すぐに確認することができます。

HTMLとCSSの確認

「Elements」を選択すると、このWebサイトのHTMLを確認できます。

さらに、「Styles」を選択すると、このWebサイトのCSSを確認できます。

この時に表示されているCSSは、今の画面サイズで、使用されているWebサイトのCSSが表示されます。

つまり、メディアクエリで指定したCSSが、きちんと動作しているか、確認することができます。

とても便利ですね!

いかがでしたか?

とても簡単な設定だったかと思います^^

もし、「そもそもメディアクエリってなに?」「どの画面サイズで切り変えを設定した方がいいの?」など気になる方がいれば、こちらの記事を見ていただけると、嬉しいです!

この記事を書いた人
ヒロ

新卒でWeb制作会社にWebデザイナーとして入社→アートディレクターにキャリアップ → 7年後、事業会社でプロダクトデザイナーとして勤務。キャリア10年以上のベテランデザイナー。マンガを愛している。

ヒロをフォローする
WEBデザイン コーディング
スポンサーリンク
ヒロをフォローする
WEBデザインハイスクール

コメント

タイトルとURLをコピーしました