[PR] 容量300MB、月額125円、高性能なサーバが日本最大級のバックボーンに直結。さくらのレンタルサーバ

上下に隣接するマージンはどうなる?!

上下に隣接する要素にそれぞれマージンを設定するとどうなるのでしょうか?下の4つのボックス領域を使って実験してみたいと思います。それぞれ高さは50ピクセル、幅は200ピクセルに設定してあります。

div001
div002
div003
div004

青のボックス001にマージンボトム50ピクセルを設定

一番上の青いボックス001にマージン下(ボトム)50ピクセルを設定したのが下のサンプルです。二番目の緑のボックスとの間隔が50ピクセル開きました。

div001
div002
div003
div004

緑のボックスにマージントップを40ピクセル設定すると?

 ここで、二番目の緑のボックスにマージン上(トップ)を40ピクセル設定するとどうなるでしょうか?普通に足し算すると「50 + 40 = 90」で、青と緑のマージンは合計90ピクセルになりますが、実際は以下のようになります。

div001
div002
div003
div004

 ご覧の通り、青と緑の間隔にまったく変化がありません。これは、隣接する青と緑のマージンを比較して、値の大きい青のボックスのマージンボトム50ピクセルが優先的に適用され値の小さい緑のボックスのマージントップ40ピクセルが無視されている結果です。

注意:相殺ではなく、小さい値が無視されるだけ!

 市販の参考書等には「相殺」という表現が用いられることが多いようですが、一般的な「相殺」の用語が意味するように上下のマージンが打ち消されてしまうわけではなく、あくまでも「値の大きいマージンが優先的に適用され、値の小さいマージンが無視される」だけですので、誤解のないようにご注意ください。

サイトトップページへ戻る