Web初めてのHTML/CSS

Day 2CSSの考え方 — 見た目を整える

ボックスモデル — すべての要素は箱

画面上の要素はすべて四角い箱。margin/border/paddingで、箱の余白と枠を調整する。

見えないけど、すべては箱でできている

Webページを見ると、文字も画像もボタンもバラバラの形に見えます。でも裏側では、はすべてのを「四角い箱」として扱っています。丸いボタンでさえ、実は四角い箱の角を丸めているだけです。この考え方をと呼びます。

たとえるなら

引っ越しのダンボールを想像してください。中身(文字や画像)があり、そのまわりに緩衝材(内側の余白)、箱の壁(枠線)、そして箱と箱のあいだの隙間(外側の余白)があります。要素も同じ構造です。

箱の四つの層

一つの箱は、内側から外側へ向かって次の四つでできています。

  1. content(中身) … 文字や画像そのもの。ダンボールの中の荷物
  2. padding(内側の余白) … 中身と枠線のあいだの隙間。荷物を守る緩衝材
  3. border(枠線) … 箱の壁。太さ・色・線の種類を決められる
  4. margin(外側の余白) … 箱と、隣の箱とのあいだの隙間

なぜpaddingとmarginを分けるの?

paddingは「箱の内側を広げる(中身にゆとりを持たせる)」、marginは「箱の外側に隙間を作る(隣と離す)」で役割が違うからです。ボタンの中の文字が窮屈ならpadding、ボタン同士がくっついているならmargin、と切り分けて考えられます。

CSS
.card {
  padding: 16px;
  border: 1px solid gray;
  margin: 24px;
}
中身のまわりに16pxのゆとり、灰色1pxの枠、外側に24pxの隙間を持つカード

この border の書き方は「太さ・線の種類・色」を空白区切りで並べたものです。1px solid gray は「1pxの実線で灰色」という意味。AIが生成したCSSでよく出てくる形なので、順番の意味を知っておくと読めます。

余白トラブルはまずボックスを疑う

「なんか隙間が広すぎる」「ボタンが窮屈」といった見た目の不満は、たいてい padding か margin の数値が原因です。AI生成CSSを直すときも、まずこの二つを探すのが近道です。

窮屈なボタン

内側の余白がゼロで、文字が枠にぴったりくっついて読みにくい

CSS
.btn {
  padding: 0;
}

ゆとりのあるボタン

上下12px・左右20pxのゆとりができ、押しやすく見える

CSS
.btn {
  padding: 12px 20px;
}

AIにはこう頼む

余白を直したいときは「このボタンの内側の余白(padding)をもう少し広げて」「カード同士の間隔(margin)を詰めて」と、paddingかmarginかを名指しで頼むと、AIが的確に直してくれます。

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

ボタンの「中の文字」が枠にくっついて窮屈です。広げるべきなのはどれ?

Q2

二つのカードがくっついて見えます。あいだに隙間を作るには?

Q3

ボックスモデルの padding と margin の違いを、たとえを使って説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。