title: Min-height and margin
body: <p>Consider the following HTML:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>.top {
    min-height: 150px;
  }
  
  p {
    margin: 50px;
  }
  
  div {
    background-color: #eee;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div class="top"&gt;
    &lt;p&gt;Welcome&lt;/p&gt;
  &lt;/div&gt;
  &lt;div class="content"&gt;Main content&lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>You can see it in action here:</p>
  
  <p><a href="http://jsfiddle.net/Lp4tp/1" rel="nofollow noreferrer">http://jsfiddle.net/Lp4tp/1</a></p>
  
  <h2>Question</h2>
  
  <p>In Chrome(for Ubuntu), it appears that the margin defined on the <code>p</code> tag causes spacing between the top div and it's surrounding elements, instead of expanding the top div and producing the equivalent of adding 50 pixels padding on the top div.</p>
  
  <p>Is this correct behavior? And if so, how can I ensure that child elements inside the top div cannot create undesired space between the top div and the content div.</p>
  
  <h3>Note</h3>
  
  <p>If I use a fixed height instead of a minimum height, the spacing between the top and the content div vanishes, but the top still produces 50 pixels of white space above itself.</p>