H2 margin-top与其Section标签冲突

时间:2016-07-01 13:17:27

标签: css html5

Fiddle

我有一个包含h2标记的部分标记,其中包含一些上边距。我无法理解为什么应用于h2标记的margin不会用于将其与包含它的section标记进行距离,而是将section移离body } tag。

2 个答案:

答案 0 :(得分:0)

这是因为以下原因:

https://www.w3.org/TR/CSS22/box.html#collapsing-margins

父母取得第一个孩子的边缘。

将h2标签更改为display:inline-block会将行为更改为您想要的行为。

答案 1 :(得分:0)

如果您希望h2周围有空格,解决此问题的一种方法是:

h2 {
  margin-top:0px;
  padding-top:10px; --> whatever you want but in padding
}

在CSS中存在崩溃边际。这意味着两个或更多个框(可能是或可能不是兄弟)的相邻边距可以组合形成单个边距。因此,在您的原始小提琴中,它将成为body标记

的边距