Home

margin | 外側の余白

margin(マージン)はボックスの外側の余白を指定するためのCSSプロパティです。 margin-topmargin-bottommargin-leftmargin-rightについても解説します。


外側の余白にはmargin、内側の余白にはpaddingを使います。

margin

親子関係のある<div>要素を準備します。

HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
実行結果初期状態
parent
child

.childクラスにmarginプロパティを設定すると外側に余白ができます。 10px20px30pxの例を示します。

HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 10px;
}
実行結果10px
parent
child
HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 20px;
}
実行結果20px
parent
child
HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 30px;
}
実行結果30px
parent
child

marginのデフォルト値は0です。

複数の設定値

上下左右で異なるmarginを設定するに複数の値を指定できます。

marginプロパティ
設定値の数1番目2番目3番目4番目
1上下左右---
2上下左右--
3左右-
4

複数の設定値の例。

HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 10px;
}
実行結果1つ
parent
child
HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 10px 20px;
}
実行結果2つ
parent
child
HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 10px 20px 30px;
}
実行結果3つ
parent
child
HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 10px 20px 30px 40px;
}
実行結果4つ
parent
child

margin-top

margin-top上辺marginを指定できます。

HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 1rem;
margin-top: 4rem;
}
実行結果上辺
parent
child

margin-bottom

margin-bottom下辺marginを指定できます。

HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 1rem;
margin-bottom: 4rem;
}
実行結果下辺
parent
child

margin-left

margin-left左辺marginを指定できます。

HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 1rem;
margin-left: 4rem;
}
実行結果左辺
parent
child

margin-right右辺marginを指定できます。

HTML
parent<br>
<div class="parent">
<div class="child">child</div>
</div>
CSS
div {
display: inline-block; /* インライン・ブロック要素 */
}
.parent {
border: 5px dotted green; /* 境界線 */
}
.child {
border: 5px solid blue;
font-size: 2rem; /* 文字の大きさ */
padding: 10px; /* 内側の余白 */
}
CSS
.child {
margin: 1rem;
margin-right: 4rem;
}
実行結果右辺
parent
child