I'm a self-proclaimed novice developer. But I'm having a serious case of the mondays. Check this out:

This is my HTML:

Code HTML4Strict:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
  <title>Hello</title>
  </head> 
  <body>
 
 
  <div id="a">
    <div id="b">Hello</div>
  </div>
 
  </body>
</html>

...and this is my CSS...

Code CSS:
#a {
    background: #f00;
  }
  #b {
    background: #0f0;
    margin: 20px 0 0 0;
  }

Why won't DIV #b push DIV #a up? I should see 20 pixels of DIV #a's red background. But I don't, unless I add overflow: auto or a border to DIV #a.

I know you're all gonna laugh at me... but please let me know what to Google for to learn this strange behaviour!