ボックスモデル
- テキストP.076〜
- HTMLタグでマークアップされた要素は1つの箱とみなされます
- HTMLの要素は4つの領域を持っています
- 表示領域
- 要素の内側の余白(padding)
- 要素の外側の余白(margin)
- paddingとmarginの境界線(border)
- 記述するプロパティの順序は、空間からコンテンツ内容への順が一般的(順不同であっても問題はありませんが、修正時にはその箇所を特定しやすくなります)
marginとpadding
- marginとpaddingは要素の「余白」を作成するプロパティ
- marginとpaddingとも、ボックスの「上」→「右」→「下」→「左」の順に記述します
マージン(margin)
- 要素の外側の余白
- ボックスモデルにおけるborderの外側の余白
- ブロックとブロックの間の空間を広げる設定です
※「auto」が指定できます
※「−(マイナス)値」を指定できます(ネガティブマージン)
パディング(padding)
- 要素の内側の余白
- ボックスモデルにおけるborderの内側の余白
- ボーダー辺に対し、コンテントの読みやすさを確保するために空ける空間を指します
- 「pad」つまり肩パッドのように、内容の嵩を増して大きいと思わせる設定です
※「−」値は指定できません
ボーダー(border)
- 本来は「border-width」「border-style」「border-color」プロパティですが、ショートハンドプロパティ「border」か、「border-top」など個別に指定します
- 「幅・スタイル・色」の順序は自由です
ボックスサイズの計算方法
- 「width: 200px」の要素に対し「padding: 20px」を指定すると、widthの実質の値は「200+20+20=240px」となります
- これに「border: 2px」が追加されると、widthの値は「200+20+20+2+2=244px」になります
ショートハンドを使って記述する方法
- プロパティのショートハンド
- プロパティの値を「上」→「右」→「下」→「左」とスペース区切りでまとめて記述します
- 上下と左右の値をセットで同じ値にする
- 左右のみセットで同じ値にし、上下は異なる値にする
- 四方の余白を異なる値に指定する
.box { padding: 10px 20px; /* 上下10px、左右20px のpadding */ }
marginとpaddingの使い分け方まとめ
- marginはborderの外側に余白を作りたいときに使用する
- paddingはborderと表示領域の間に余白を作りたい時に使用する