为什么保证金不在div内部?

Ste*_*ven 2 css parallax

我正在制作我的第一个视差页面,我在callmenick上找到了一个简单的例子.

他将自己设定parallax.section为600px高.这也是图像的容器.

<section class="module content">
  <div class="container">    
    <h2>Lorem Ipsum Dolor</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
  </div>
</section>

<section class="module parallax parallax-2">
  <div class="container">
    <div class="test">Test container</div>
    <h1>Rise</h1>
  </div>
</section>
Run Code Online (Sandbox Code Playgroud)

我在testdiv中添加了一个div container,margin-top: 30px;我预计它会在我的测试div和容器div之间创建一个30 px的边距.相反,它会在节div之间产生间隙.这是为什么?

如果我添加overflow: hiddencontainerdiv,我解决了这个问题.但我仍然不明白为什么边距不能在其他div中运行.

你可以在这里看到我的小提琴.

使用的CSS是这样的:

section.module.parallax {
  height: 600px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

section.module .test{
    margin-top: 40px;
    background-color: #BCEF2F;
}
Run Code Online (Sandbox Code Playgroud)

j08*_*691 7

你看到利润率下降.要修复它,请添加overflow:auto到容器div:

.container {
    max-width: 960px;
    margin: 0 auto;
    overflow:auto;
}
Run Code Online (Sandbox Code Playgroud)

jsFiddle例子