margin
(マージン)はボックスの外側の余白を指定するためのCSSプロパティです。 margin-top
、margin-bottom
、margin-left
、margin-right
についても解説します。
外側の余白にはmargin
、内側の余白にはpadding
を使います。
余白 | 外側 | 内側 |
---|---|---|
全辺 | margin | padding |
上辺 | margin-top | padding-top |
下辺 | margin-bottom | padding-bottom |
左辺 | margin-left | padding-left |
右辺 | margin-right | padding-right |
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
プロパティを設定すると外側に余白ができます。 10px
、20px
、30px
の例を示します。
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
を設定するに複数の値を指定できます。
設定値の数 | 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-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