top
とbottom
など対になる(反対側の)プロパティに0
を指定すると配置のエリアがその指定間いっぱいに広がります。top
の0位置からbottom
の0位置まで、relative
要素と同じだけの配置領域ができます。
その中に幅(width
)や高さ(height
)を持った要素を配置した場合に、margin:auto
で要素を中央に配置する事ができます。
上下中央に配置する方法として、top
を50%
にしてmargin-top
を要素の半分のネガティブマージンにする方法もありますが、要素の大きさが変わった場合に、要素と共にmargin-top
も変更する必要があります。
top
とbottom
に0
を設定しておいてmargin:auto
を設定しておく方法だと、要素の変更のみで済むので、メンテナンスが容易というメリットがあります。