HTML-CSS 入門講座

HTML-CSS 入門講座

こんにちは!
今日も頑張ろう

BOX モデルの構成要素

説明

概要

BOX モデルの構成要素である content、padding、border、margin の関係を説明します。

Webページのレイアウトを作成する場合には、BOX モデルを理解して活用することが重要です。

BOX モデルは、content、padding、border、margin の 4 つの領域から構成されています。

BOX モデルは、box-sizing プロパティの指定値によって width プロパティや height プロパティの指定値が変わります。

box-sizing が指定されていない場合か content-box が指定されている場合の width プロパティは、content 幅を指定することになり、横幅全体は、以下の計算式になります。
横幅全体 = margin(左) + border(左) + padding(左) + width(content) + padding(右) + border(右) + margin(右)

box-sizing に border-box が指定されている場合の width プロパティは、content + padding + border の合計値(margin は含まれません)を指定することになり、横幅全体は、以下の計算式になります。
横幅全体 = margin(左) + width( border(左) + padding(左) + content + padding(右) + border(右) ) + margin(右)

box-sizing プロパティは、リセット CSS で border-box を指定しておくのが一般的になっていますが昔に作成した Web ページのメンテナンスなどでは、box-sizing プロパティが指定されていない場合があるので注意が必要です。

BOXモデル

(1) サンプル表示

(2) ソースコード

ソースコード表示

HTML


<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>サンプル(box-sizing)</title>
<style>
body {
	margin: 0;
}
.container {
	border: #ccc 1px solid;
}
p {
	margin: 20px 0 0 20px;
}
.box1, .box2, .box3 {
	width: 500px;
	height: 250px;
	padding: 20px;
	border: 20px #000 solid;
	margin: 20px;
}
.box1 {
	background: aqua;
}
.box2 {
	box-sizing: content-box;
	background: yellow;
}
.box3 {
	box-sizing: border-box;
	background: pink;
}
</style>
</head>
<body>
	<div class="container">
		<p>width: 500px; height: 250px; box-sizing: (指定なし);<br>
		→ width と height の範囲は、content 部分になります。</p>
		<div class="box1">
			width: 500px;<br>
			height: 250px;<br>
			padding: 20px;<br>
			border: 20px #000 solid;<br>
			margin: 20px;<br>
			box-sizing: (指定なし)
		</div>
		<p>width: 500px; height: 250px; box-sizing: content-box;<br>
		→ width と height の範囲は、content 部分になります。</p>
		<div class="box2">
			width: 500px;<br>
			height: 250px;<br>
			padding: 20px;<br>
			border: 20px #000 solid;<br>
			margin: 20px;<br>
			box-sizing: content-box;
		</div>
		<p>width: 500px; height: 250px; box-sizing: border-box;<br>
		→ width と height の範囲は、border 部分までになります。</p>
		<div class="box3">
			width: 500px;<br>
			height: 250px;<br>
			padding: 20px;<br>
			border: 20px #000 solid;<br>
			margin: 20px;<br>
			box-sizing: border-box;
		</div>
	</div>
</body>
</html>

ロケット本体
PAGE
TOP
ロケット炎