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">
  <div id="a">
    <div id="b">Hello</div>

...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!