CSS プロパティ margin-bottom

CSSプロパティ margin-bottom:要素の下余白を制御する

概要

`margin-bottom` プロパティは、要素の下部に適用される外側の余白を設定します。余白は、背景色で塗りつぶされない透明な領域であり、要素の周囲にスペースを作成します。

適用対象:すべての要素

継承: しない

構文


/* <長さ> 値 */
margin-bottom: 10px;
margin-bottom: 1em;

/* <パーセンテージ> 値 */
margin-bottom: 5%;

/* キーワード */
margin-bottom: auto;

/* グローバル値 */
margin-bottom: inherit;
margin-bottom: initial;
margin-bottom: unset;

プロパティ値

説明
<長さ> px、em、remなどの単位を使用して、固定の下余白を定義します。
<パーセンテージ> **包含ブロック**の幅に対する割合で下余白を指定します。
auto ブラウザが自動的に下余白を計算します。水平方向のセンタリングなどに使用されます。
inherit 親要素から`margin-bottom`プロパティの値を継承します。
initial `margin-bottom`プロパティを初期値に設定します。
unset `margin-bottom`プロパティが継承されている場合は`inherit`、そうでない場合は`initial`と同じ動作をします。

使用例

1. 固定長の `margin-bottom` を設定する


<!DOCTYPE html>
<html>
<head>
<style>
.box {
  background-color: lightblue;
  width: 100px;
  margin-bottom: 50px;
}
</style>
</head>
<body>

<div class="box">このdiv要素の下余白は50pxです。</div>

</body>
</html>

この例では、`.box`クラスを持つdiv要素に、50pxの下余白が設定されています。

2. パーセンテージを使用して `margin-bottom` を設定する


<!DOCTYPE html>
<html>
<head>
<style>
.container {
  width: 500px;
  border: 1px solid black;
}
.box {
  background-color: lightblue;
  width: 100px;
  margin-bottom: 10%; /* 親要素.containerの幅に対する割合 */
}
</style>
</head>
<body>

<div class="container">
  <div class="box">このdiv要素の下余白は、親要素の幅の10%です。</div>
</div>

</body>
</html>

この例では、`.box`クラスを持つdiv要素に、親要素(`.container`)の幅の10%に相当する下余白が設定されています。

3. `auto` を使用して垂直方向にセンタリングする


<!DOCTYPE html>
<html>
<head>
<style>
.container {
  height: 200px;
  border: 1px solid black;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  background-color: lightblue;
  width: 100px;
  height: 100px;
  margin: auto; /* 上下左右の余白をすべてautoに設定 */
}
</style>
</head>
<body>

<div class="container">
  <div class="box"></div>
</div>

</body>
</html>

この例では、`.box`クラスを持つdiv要素は、フレックスボックスレイアウトを使用して、親要素(`.container`)内で垂直方向にセンタリングされています。

注意事項

* `margin-bottom` は、インライン要素および置換要素以外では効果がありません。 * ある要素の下余白と別の要素の上余白が重なる場合、**余白の相殺**が発生します。 詳細については、[余白の相殺](https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing)を参照してください。

まとめ

`margin-bottom`プロパティは、要素間の垂直方向の間隔を制御するための重要なツールです。 これを使用すると、より美しく、保守しやすいWebページレイアウトを作成できます。

関連するQ&A

**Q1: `margin-bottom` と `padding-bottom` の違いは何ですか?** **A1:** `margin-bottom` は要素の**外側**に余白を作成し、`padding-bottom` は要素の**内側**にパディングを作成します。余白は透明で背景色は適用されませんが、パディングは要素の背景色で塗りつぶされます。 **Q2: `margin-bottom` が効かない場合はどうすればよいですか?** **A2:** 考えられる原因はいくつかあります。 * 要素がインライン要素または置換要素である。 * 親要素に高さや表示形式が適切に設定されていない。 * 余白の相殺が発生している。 これらの原因を特定し、適切な対処をする必要があります。 **Q3: `margin-bottom` を使用してフッターをページの下部に固定するにはどうすればよいですか?** **A3:** `margin-bottom` 単独では、フッターをページの下部に固定することはできません。フッターを固定するには、他のCSSプロパティと組み合わせて使用するか、JavaScriptを使用する必要があります。