> YIKES! Another can o' worms. Since I'm not seeing the flicker at all
> any more, I'll be attempting to fix it in the dark.
Not much use in such "darkroom fixes" I'm afraid. :-)
I'm not sure who is testing correct here, and the results will variate
between Gecko-versions. Note that I didn't change or add any other style
than the 'display: table' on wrapper. One false move (or style) and
Gecko may break it again.
I followed a logic line from the specs in my test: the establishment of
a 'new block formatting context' (CSS 2.1 spec - 9.4.1). The idea was
to isolate and stabilize the page and make it independent of
window-size. That'll fix the problem in some, but not all, Gecko-versions.
Gecko is still not good at handling anything that's related to this
spec. The result is that most solutions are conditional and depending
on the entire HTML/CSS layout for each specific page.
The fact that Gecko is not yet up to correct (if at all) handling of a
lot of CSS2.1 specifications is complicating things further.
A few problems:
- absolute-positioning in relation to a container with 'display: table'
set on it, is impossible. An old bug, according to Philippe W. Not a
problem on your page, but something to be aware of.
- dimensions and positions that are (supposed to be) controlled by
'overflow: (other than) visible', is affected by Gecko's "super-precise"
recalculations and window-size. That hasn't improved with new releases,
as Firefox 0.8 and Moz 1.4 don't show the flicker-problem for your page.
Some Gecko-versions may however have problems with 'display: table'
which is another dimension-challenge Gecko can't handle well - at least
not more than once since Gecko has a re-rendering problem.
- Gecko is "cutting corners" in order to render (apparently) fast.
Therefore, a lot of slightly complicated layouts are not rendered based
on complete calculations, but rather on some "guesswork".
If you want more than one version of Gecko to render any slightly
complex layout correctly, then you'll have no other choice than to use
extra HTML-container/wrappers so styles can be split and the complex
calculations avoided. That's how Ingo's solution works, and it is
probably the most stable starting-point if you want to "fix" Firefox.
Add an extra container or two for isolation - add one style at a time -
test in all Gecko-versions you want it to work in - and be prepared to
start all over again. Have fun ;-)
List wiki/FAQ -- http://css-discuss.incutio.com/
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/