marginプロパティの説明
CSSのmarginプロパティは、要素の外側の余白をまとめて指定します。具体的には、CSSのボックス・モデルにおけるマージン・ボックス(Margin box)の寸法を定義するものです。
要素を配置すると、そこに四角形のボックスが生成されます。marginは、その四辺全ての外側に作成される余白を一括で制御できるショートハンド・プロパティです。各値は共通の寸法を指定することも、個別に指定することも可能です。その祭、記述する値の数によって対応する辺の位置が決まります。
- 値を1つ指定した場合は、4つの辺全てに同じマージンが適用される
- 値を2つ指定した場合は、1つ目の値が上下、2つ目の値が左右に適用される
- 値を3つ指定した場合は、1つ目の値が上、2つ目の値が左右、3つ目の値が下に適用される
- 値を4つ指定した場合は、1つ目の値が上、2つ目の値が右、3つ目の値が下、4つ目の値が左に適用される
マージンの操作はインライン要素には効きません。負の値を指定すると、要素を重ねることもできます。各辺に対応するプロパティは以下の通りです。
- 全てのマージン:
margin - 上辺のマージン:
margin-top - 右辺のマージン:
margin-right - 下辺のマージン:
margin-bottom - 左辺のマージン:
margin-left
CSSのマージンについて正しく理解したい方は、余白に関するリファレンスを参照してください。
marginに指定できる値
<length>- CSSで使用できる長さを表す単位つきの値です。ピクセル値やメートル法の単位などを使う絶対値、フォントサイズやビューポートなどを使用する相対値が指定できます。
<percentage>- マージンの寸法を包含ブロックの幅(
width)を基準に割合(%)で表します。 auto- ブラウザの自動計算を採用します。要素の左右にこの値を指定すると、均等に余白を分配するため中央に寄せられて配置されます。
marginの使い方とサンプルコード
marginプロパティの構文は以下の通りです。
/* 四辺共通 */
margin: 10px;
margin: 1rem;
margin: -24mm;
/* 上下 | 左右 */
margin: 10px auto;
margin: 5% auto;
/* 上 | 左右 | 下 */
margin: 1rem auto 10px;
margin: auto 10px 1rem;
/* 上 | 右 | 下 | 左 */
margin: 10px 24px 0 auto;
margin: 0 auto 5% 1rem;
/* グローバル値 */
margin: inherit;
margin: initial;
margin: revert;
margin: unset;
marginの実例
それでは実際にmarginプロパティの書き方を見ていきましょう。以下の例は、背景色を白く塗った<div>要素の中に<p>要素を配置して、マージンの値を変えた時の比較です。<p>要素にも背景色が指定されており、余白の違いを確認できます。
