Comment 9 for bug 145624

Revision history for this message
verdy_p (verdy-p) wrote :

Absolutely not fixed in IE: the content area is ALL blnk, due to the <div class="clear"></div> that follows it (with a comment "for Opera").
The problem is not this div, but the way the class "clear" is implemented (in "style.css"): it forces a height="0", BUT, it incorrectly sets "overflow:hidden" which does not change the height, but forces the excess height below it to be clipped. So we have space reserved for the "float:left" content area, but the normal inline/block flow truncates everything that is below it.

You MUST remove "overflow:hidden" (this won't change the layout or position of any element, but at least the floatting elements beside the clear will be drawn!). Even the kludge for Opera (with ".clearfix") is not even needed if you remove this undesirable property! If you search where it is set, it is just in the few first lines of "style.css"...

In addition, the CSS file "style.css" is bogous at line 710: a floating element (float:left) CANNOT be "display:inline". This should be "display:block". Normally browsers should ignore "display:" in this case where "float:left" applies, if this is not "display:none" and always treat it as if it was "display:block" (see the CSS1 and CSS2 specs for the algorithm used to get the COMPUTED style value, this is clearly "display:block"). So don't specify things that could be bogous, remove "display:inline" or set it exactly the way it should be interpreted "display:block".

Finally, at the same place, there's "position:relative": is this needed? The only value possible alternate for floating elements is "position absolute" to set the position of the floating element according to the display frame instead of the container block of the floating element. It is NOT relative to the current inline or block position of the main central flow of the container, but to the current position of the left flow of the container.