一つのWebサイトをPCやタブレット、スマホなど
デバイスの画面によって表示の仕方を切り替えるデザインを
レスポンシブWebデザインと言います。
今日のスタンダードなサイト構築の手法となっており
Webサイトのレスポンシブ対応は必須と言えます。
今回はWebサイトをレスポンシブに対応させる方法を説明します。
手順
<head>
の中にviewport
を書く- CSSで
@media
を使う
<head>の中にviewportを書く
HTMLの<head>~</head>内に以下のメタタグを記入します。
<meta name="viewport" content="width=device-width, initial-scale=1">
CSSで@mediaを使う
CSSでは表示画面が一定の横幅になった時に切り替えたい要素を@media
で囲みます。
表示画面が一定の横幅になり、切り替わるポイントをブレイクポイントと言います。
@media
にブレイクポイントの位置を指定しておきます。
記述方法
以下に@media
のあとに(min-width: 520px)
とありますが
この部分がブレイクポイントの指定になります。
この場合は表示画面の横幅が520px以上の時に@media
の内容に切り替えるということになります。
@media (min-width: 520px) {
/* ここに切り替えたい要素を入れる */
}
モバイルファーストを基準にした書き方
主にスマホからのアクセスを見込む場合の書き方になります。
ベースとなるCSSの記述はスマホで表示する前提で行います。
PCやタブレットで表示される要素は@media
に記述します。
519px未満 → 文字:緑色/サイズ14px
520px以上 → 文字:赤色/サイズ16px
p {
color: green;
font-size: 14px;
}
@media (min-width: 520px) { /* 横幅520px以上 */
p {
color: red;
font-size: 16px;
}
}
@mediaを複数使う場合
519px未満 → 文字:緑色/サイズ14px
520px〜959px → 赤色/サイズが16px
960px以上 → 文字:青色/サイズ18px
p {
color: green;
font-size: 14px;
}
@media (min-width: 520px) { /* 横幅520px以上 */
p {
color: red;
font-size: 16px;
}
}
@media (min-width: 960px) { /* 横幅960px以上 */
p {
color: blue;
font-size: 18px;
}
}
PCでの表示を基準にした書き方
主にPCからのアクセスを見込む場合の書き方になります。
ベースとなるCSSの記述はPCで表示される前提で行います。
タブレットやスマホで表示される要素を@media
に記述します。
520px以上 → 文字:緑色/サイズ14px
519px以下 → 文字:赤色/サイズ16px
p {
color: green;
font-size: 14px;
}
@media (max-width: 519px) { /* 横幅519px以下 */
p {
color: red;
font-size: 16px;
}
}
@mediaを複数使う場合
960px以上 → 文字:緑色/サイズ14px
959px〜520px → 文字:赤色/サイズ16px
519px以下 → 文字:青色/サイズ18px
p {
color: green;
font-size: 14px;
}
@media (max-width: 959px) { /* 横幅959px以下 */
p {
color: red;
font-size: 16px;
}
}
@media (max-width: 519px) { /* 横幅519px以下 */
p {
color: blue;
font-size: 18px;
}
}