Tuttle Grey [EMAIL-REMOVED]> wrote:
> This is the bug that Owen Briggs called the "jumping links guillotine bug".
> Basically when you hover over a link, in IE6 some content will disappear or
> reappear, or jump around the page or reflow or break out of margins, etc.
There are two unrelated IE bugs on the demo page. Both are triggered by a
relayout-some-but-not-all-of-the-page event. A background property change
is one of the things that will generate such an event, even though it
doesn't need to. Any change of background-color property will do it, even,
as the page demonstrates, 'transparent'. However, 'inherit' will not as
the default value for that property is to inherit. Other properties cause
the same event to occur, for example border colour changes.
The first bug is the way it clips half the document away when you hover the
menu. It is fairly clear what is happening here: IE6 is clipping the document
to the Initial Containing Block, which is as high as the content in the
document*. Since floats take up no vertical space, the ICB is only as high as
the page's static content, which is the menu. IE should not clip its display
to the ICB, but it does, so one had better avoid the problem either by
putting an element with 'clear: left' under the menu to force the static
content to match the size of the float, or make the size of the ICB not
depend on the size of the document by giving <body> absolute positioning.
The second bug is in percentage-based padding on floated elements. IE gets
this wrong even without the help of a partial-relayout event, that just
makes it clear that something is askew. You can see how it's wrong by adding
a 'solid red 1px' border to <p>s and comparing the positioning to Mozilla.
Avoid % padding on floats or, again, absolute positioning on body seems to
fix it, which implies this is something to do with calculating containing
blocks again. hmm.
I've seen other bugs exposed by these partial-relayouts usually caused by
hovering links, even in IE5.
i hate all this
* this definition of the ICB is currently being argued in www-style. CSS2
chapters 9 and 10 present a marginally but significantly different
explanation of what it is. Sigh...