我有一些这样的效果:
#div {
background: green;
width: 200px;
height: 100px;
}
h1 {
margin-top: 100px;
}
(显然有一些HTML可以使用它。)
现在在浏览器中查看时 h1
显示在最顶端 #div
和 100px
保证金是最重要的 #div
。
任何人都可以提出理由吗?
(代码有点太复杂,无法插入相关部分,所以如果没有人可以给我答案,那么我会发布它,也许有人会发现错误或其他什么。)
尝试添加填充。我以前见过这种问题。如果padding做同样的事情然后尝试放置一个容器div,但#div和h1然后添加边距。如果您只想将h1从#div向下移动,那么填充是最好的选择,因为它将“将h1进一步推入#div'框'”。
这与H1标签无关。这就是我们所说的保证金崩溃。
你可以在这里找到关于这个主题的帖子:
http://reference.sitepoint.com/css/collapsingmargins
你有几个解决方案:
- 改用填充
- 在父div上添加overflow:auto
- 将透明顶部边框添加到父div
我能够通过制作所有标题标签来解决这个问题(h1-h6) display: inline-block;
。作为具有边距的内联元素,它们可以像这样溢出,但作为内联块,它们与其他块的行为稍微好一些。