<p>などのブロック要素のマージンの付け方ってどれが正しいんだろう?なんて考えてもう何週間も経っている気がします。もしかしたら何ヶ月かもしれません。「そんなの下方向だけでいいじゃん!」「あれ?でもテーブルの中だとマージンが余分だよ?」なんてこともあったり。一番スマートなブロック要素のマージンってどんな設定なんでしょうね? ブラウザのユーザーエージェントスタイルシートを見習う Google ChromeやFirefoxなどのユーザーエージェントスタイルシートでは上下にマージンが入るようになっています(正確にはmargin-beforeとmargin-after)。 これはマージンの相殺が発生するので<p>の後に再び<p>が置かれても二つの間の距離は2emではなく1emとなります。 p { margin: 1em 0 } マージンの相殺とは? マージンの相殺とは以下のような状態のことをいいます