IE7での印刷ずれ

<h3>テスト</h3>
<div id="foo">
  <dl>
  <dt>その1</dt><dd>その1データ</dd>
  <dt>その1</dt><dd>その1データ</dd>
  </dl>
</div>

のようなhtmlがあり、スタイルシートにて、dt,ddが水平になるように、

#foo {
  clear: both;
}
#foo dt {
  float: left;
  clear: left;
}
#foo dd {
  padding-left: 4em;
}
h3 {
  ....
  float: left;
  clear: both;
}

のようなことをしているとIE7の印刷時にのみdt,ddがずれてしまう。IE6やFirefoxでは問題ない。

原因はh3の

float: left;

で、これをはずせばいいのだが、なぜこれが作用してしまうのかまったく理解できなかった。
#それより、h3のfloat: left;が必要かどうかもあるのだが。。。