get rid of the negative margins. set the body margin to zero instead. the p element is not self closing – use an open and end tag. put the floats (even the right floats) before the non-floating content. give the header a min-width equal to the sum of the three parts.