There is a related case where IE and Opera behave the same way and
different to Firefox. Consider:
<p>some text <span id="caret"></span></p>
where the span is styled with a border thus:
#caret { border-left: solid 1px red; width: 1px}
On IE and Opera you see a space before the red border, while on
Firefox you don't. On Firefox, the space before the border reappears
if you set the content of the span to &nbsp;. I consider Firefox's
behavior to be a bug.
None of the browsers collapse the line height if the paragraph and
span don't contain any text, which is the desired behavior.
<p><span id="caret"></span></p>
The example comes from work I am doing on a cross-browser editor
that uses the DOM for keyboard and mouse events together with a
span to simulate the appearence of the text caret. The aim being to
provide a more flexible solution than designMode or contentEditable
where there are major interoperability problems in current
implementations.
Dave Raggett <dsr@w3.org> http://www.w3.org/People/Raggett