penders - 11:50 pm on Jul 26, 2011 (gmt 0)
My explanation above isn't quite right... Firefox does seem to collapse the empty clearing div to some extend, but it is still clearing the float before it. If you include some content (like ) in the clearing div then Firefox behaves like other browsers and the white gap disappears.
The white gap is certainly the default top margin of the p. This looks like a collapsing margins [w3.org] issue, or rather a non-collapsing margins issue in the case of Firefox. If, for instance, you add a top border to the #footer then the white gap also goes away.