1. Could it be argued that *any* layout (necessitating complex
absolute/relative positioning, overflows, nested lists, etc),
carefully built with a thorough knowledge of the Trident box model
in mind can avoid having to artificially trigger hasLayout?
As co-author of that article and based on years of battling with IE5 - 7
bugs and peculiarities, I'd say it is impossible to avoid triggering
hasLayout in/for any real-world layout. No point either, as hasLayout is
just a weird, early, overdone and pretty buggy version of "block
formatting" that all browsers perform as pr. CSS specs...
<http://www.w3.org/TR/CSS21/visuren.html#block-formatting>
...and without it we can't achieve the formatting we need in all but the
most "flat and simple" designs.
2. Ingo's article repeatedly alludes to the classic MS-proprietary
CSS zoom:1 trigger being acceptable 'for debug purposes'...
zoom: 1 is good for debugging since it gets picked up by the W3C CSS
validator if we forget that we put them there :-)
Not all front-end coders like to have non-valid code in their
stylesheets - they may like "valid" badges or whatever, so for them any
of the other "valid properties" that will trigger hasLayout may look better.
Myself, I use any property/value that gets the job done, whenever I need
to trigger hasLayout. Loss of "validity" because of proprietary IE CSS
isn't more problematic than use of some "mos-", "webkit-" or "o-"
proprietary CSS ... IMO.
Some time more of a problem to avoid hasLayout - as touched on under
your point 1, so in rare cases we have to hide hasLayout triggers from
older IE versions or try to override/reset them. Finding out where to do
what in a given layout is what sometimes consumes a bit more time than I
like.
regards
Georg
______________________________________________________________________
css-discuss [cs...@lists.css-discuss.org]
http://www.css-discuss.org/mailman/listinfo/css-d
List wiki/FAQ -- http://css-discuss.incutio.com/
List policies -- http://css-discuss.org/policies.html
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/