【強化書:STEP①】レスポンシブ

目次

一段組みの可変レイアウト

シンプルな1カラム

シンプルな1カラムのボックスがブラウザ幅に合わせて伸縮します。

<div class="container-1">
  <p>ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。</p>
</div>
.container-1{
  background: #eee;
}
実際の見た目

ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。

ポイント

widthの指定が無いので親要素の幅いっぱいまで広がります。

ブラウザの幅に合わせて伸縮します。

最大幅を固定した1カラム

可動性を維持するために最大幅を固定します。

<div class="container-2">
  <p>ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。</p>
</div>
.container-2{
  max-width: 500px; /*ボックスの最大幅を指定*/
  margin-left: auto; /*中央寄せの為*/
  margin-right: auto; /*中央寄せの為*/
  background: #eee;
}
実際の見た目

ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。

ポイント

ボックス幅の変化がわかりやすい様、ここではあえて500pxと狭くしています。

ボックス幅が狭くなるとコンテンツが左に寄ってしまうため左右にmargin:auto;を配置して中央に寄せています。

画像のフルードイメージ化

画像を親要素の幅に合わせて伸縮させます。

ここではwidth: 100%;とmax-width: 100%;の違いをイメージ化しておきます。

width:100%;の場合

<div class="container-3">
  <figure><img src="https://web.ki-biz.com/weblog/wp-content/uploads/2025/10/8b53962bd6992e076e58c639b89ddd1d.webp" width="500px" height="500px" alt="犬のイラスト" loading="lazy"></figure>
</div>
.container-3{
  background: #eee;/*わかりやすい様に背景色*/
}

img {
  width: 100%;/*画像サイズに関係なく親要素幅いっぱい*/
  height: auto;/*画像比率維持のために必要*/
}
実際の見た目
犬のイラスト

max-width:100%;の場合

<div class="container-4">
  <figure><img src="https://web.ki-biz.com/weblog/wp-content/uploads/2025/10/8b53962bd6992e076e58c639b89ddd1d.webp" width="500px" height="500px" alt="犬のイラスト" loading="lazy"></figure>
</div>
.container-4{
  background: #eee;/*わかりやすい様に背景色*/
}

.container-4 img {
  max-width: 100%;/*画像サイズが上限。さらに親要素幅に合わせて縮小*/
  height: auto;/*画像比率維持のために必要*/
}
実際の見た目
犬のイラスト
ポイント

画像はデフォルトで可変しないので指定が必要です。

親要素幅を基準に、
width ⇒ いっぱいに広がる。
max-width ⇒ 画像の幅が上限 + 幅に合わせて縮小する。

画像比率維持のために「height: auto;」は必須。

多段組の可変レイアウト

%で作るシンプルな2カラム

シンプルな1カラムのボックスがブラウザ幅に合わせて伸縮します。

<div class="row1-1">
  <div class="col2-1"><p>ここに左側テキストが入ります。ここに左側テキストが入ります。ここに左側テキストが入ります。</div>
  <div class="col2-1"><p>ここに右側テキストが入ります。ここに右側テキストが入ります。ここに右側テキストが入ります。</div>
.row1-1{
  display: flex;
}

.col2-1{
  width: 50%;
  border: 1px dashed #999;
}
実際の見た目

ここに左側テキストが入ります。ここに左側テキストが入ります。ここに左側テキストが入ります。

ここに右側テキストが入ります。ここに右側テキストが入ります。ここに右側テキストが入ります。

ポイント

%は一番基本の相対単位。

%は親要素のcontent-boxサイズを100として子要素の割合を算出します。

子要素の合計が親要素の100%を超えるとカラム落ちする場合があります。

指定のpxサイズから%サイズを計算する

デザインカンプでデザインされたものを基に同一比率で可変レイアウトに変換するパターンを想定します。

以下の計算式で割合を算出します。

計算式

【子要素】÷【親要素のcontent-boxサイズ】×100%

便利な関数

calc()

cssの値に計算式を使用できる関数です。異なる単位の値同士も計算できます。

<div class="row2">
  <div class="col2"><p>ここに左側テキストが入ります。ここに左側テキストが入ります。ここに左側テキストが入ります。</div>
  <div class="col2"><p>ここに右側テキストが入ります。ここに右側テキストが入ります。ここに右側テキストが入ります。</div>
.row2{
  display: flex;
  justify-content: space-between;
  max-width: 640px;
  margin: 0 auto;
  outline: 1px dashed #999;
}

.col2-2{
  width: calc((300 / 640) * 100%); /*【子要素】/ 【親要素】* 100% */
  background: #e9e9e9;
}
実際の見た目

ここに左側テキストが入ります。ここに左側テキストが入ります。ここに左側テキストが入ります。

ここに右側テキストが入ります。ここに右側テキストが入ります。ここに右側テキストが入ります。

ポイント

実際にはぴったりの割合で指定できることの方が少ないのでサイズを計算式から導き出す方法も使えるようにしておきます

親要素にpaddingが付いている場合

シンプルな1カラムのボックスがブラウザ幅に合わせて伸縮します。

<div class="container">
  <p>ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。</p>
</div>
.container{
  background: #eee;
}
実際の見た目

ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。

ポイント

widthの指定が無いので親要素の幅いっぱいまで広がります。

ブラウザの幅に合わせて伸縮します。

このサイトはテーマ「SWELL」を使っています

「SWELL」はWordpress初心者も慣れた人も使い続けられるテーマだと思います。

よかったらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

事業で使うサイトを企業に依頼し作成したものの、全く機能せず自分で作り直したのがきっかけでウェブの世界に飛び込む。
Wordpress、コーディング、マーケティングなどウェブlogにアウトプットすることで誰かの問題解決につながれば嬉しいです。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次