On Tue, Mar 9, 2010 at 9:39 AM, Alan Gresley <[email protected]> wrote: > Bruno Fassino wrote: >> >> On Sun, Mar 7, 2010 at 5:47 PM, Alan Gresley <[email protected]> wrote: >>> >>> It appears that MS has hacked in bidirection (somewhat improved over >>> IE7) by the use of *hasLayout*. >>> >>> <http://css-class.com/test/bugs/ie/ie8-haslayout-bidi.htm> >> >> Yes, I see the problem, very interesting! >> >> I just would say that "direction" sometimes makes a block a >> formatting context root (this is not necessarily related to hasLayout, >> which seems to have no more rendering effects in IE8, even if it still >> exists just as a dom / javascript property). > > > Hello Bruno. If this is not hasLayout then why does IE8 behave like IE7 for > particular bugs when hasLayout (IE7- understanding) has been triggered? > > IE8 with IE7 compatibility mode does not show the peekaboo bug or the > escaping float bug but it does show rendering bands. > > <http://css-class.com/test/bugs/ie/strangepeekaboobug.htm> > [...] > > Since using hasLayout was IE7- way of generating a block formatting context > than I see no other option than to declare that this is hasLayout in IE8. > > I would say that this test cases of yours would be affected. > > <http://www.brunildo.org/test/IEMarginPadding.html> > > Here a copy of another of your test cases with dir="rtl" causing IE8 to > render as IE7. > > <http://css-class.com/test/temp/bruno-IEWflm.htm>
Alan, I agree perfectly that the effects are very similar. Not calling this "hasLayout" is mostly a question of name :-) But then I see some small differences, even if I haven't tested too much. One of the effects of hasLayout was to stop a background from extending below a border. "Direction" does not seem to cause this. Also with margins collapsing the effects are slightly different. I would say the effects of "dir" are more consistent with "new block formatting context", while hasLayout had other mixed effects. Another reason I prefer not to "overcharge" the "hasLayout" name is that it is just a dom property, still present in IE8 (Microsoft never said the property has gone, only its effects), and it is still "false" and "true", more or less in the same cases as before. What is interesting is that if you query the property for a box with "rtl" you get "true" in IE8, "false" in IE7-. I've added the rtl case in this old page [1] of mine, look at the (javascript generated) table, case 24. Regards, Bruno [1] http://brunildo.org/test/hh-rtl.html -- Bruno Fassino http://www.brunildo.org/test ______________________________________________________________________ css-discuss [[email protected]] 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/
