Revised: Jun./20th/2004
'margin
' によってずらした開始線の内側が要素の表示可能領域になり、その外側の領域は親要素の領域であり、背景は親要素のものが使われます。
![]() |
図:margin があらわす範囲 |
---|
margin
マージンは、要素と他の要素とのスペースを指定する余白です。上下左右の四方を個別に指定可能であり、各々にプロパティが存在します。
プロパティ名 | 値 |
---|---|
margin-top, margin-right, margin-bottom, margin-left | <margin-width> | inherit |
'margin
' 関係のプロパティは子要素に継承されません。デフォルトの値は 0
です。inherit
は、親要素の値を明示的に継承する指定です。
<margin-width>
には、次のものが指定できます。
<length>
:定義は別項参照<percentage>
:% 単位。当該ボックスを包含する包含ブロックの幅を 100% とする比率。auto
: ブラウザ依存パーセント指定で 100% として参照する包含ブロックの幅とは、親要素の内容辺が囲む内容領域の幅のことです。
四つのプロパティを一括指定する省略プロパティとして、'margin
' が使えます。
プロパティ名 | 値 |
---|---|
margin | <margin-width>{1,4} | inherit |
マージンは、他の要素の境界との間のスペースであり、お互いのマージンの指定値が相殺されます。例えば、上下に隣接する要素が、各々 2em
ずつのマージンが指定されている場合には、相互の要素間のスペースは 4em
ではなく 2em
になります。一方が 2em
で他方が 3em
であれば、相互の要素間のスペースは 3em
になります。
![]() |
図:マージン間の相殺 |
---|
上下左右
margin プロパティのパラメタが一つの場合は、四方のマージンが全て等しく指定された値なります。
次の例は、段落要素の上下左右の四方のマージンを1em ずつとる指定です。
p { margin: 1em }
上下 左右
margin プロパティのパラメタが二つの場合は、第一のパラメタが上下のマージン、第二のマージンが左右のマージンを指定します。
次の例は、段落要素の上下のマージンを1em ずつ、左右のマージンを表示可能幅の5%ずつとる指定です。
p { margin: 1em 5% }
ブロックレベル要素の左右のマージンの値を auto
にすると、ボックスは中央に寄せられるはずです。
h1 { margin: 1em auto } /* もしくは */ h1 { margin-top: 1em; margin-left: auto; margin-right: auto; margin-bottom; 1em }
上 左右 下
margin プロパティのパラメタが三つの場合は、第一のパラメタが上のマージン、第二のマージンが左右のマージン、第三のパラメタが下のマージンを指定します。たとえば h1, h2, h2 などの要素は、上の要素からは離して、下の要素とは近づけた方が直感的です。
次の例は、 h2 要素の上のマージンを2em、左右のマージンを表示可能幅の5%ずつ、下のマージンを 1em とる指定です。
p { margin: 2em 5% 1em }
上 右 下 左
margin プロパティのパラメタが四つの場合は、上から時計回りに順番に、右、下、左のマージンを個別に指定します。
次の例は、 ul 要素の上マージンを1em、右マージンを0、下マージンを2em、左マージンを10%とる指定です。
ul { margin: 1em 0 2em 10% }Copyright © 2004 SUGAI, Manabu. All rights reserved.