IE6/Win: ignored margins

Note: This paper remains in very early draft form.

Characterization of the bug in IE6

Suppose we have

  1. a hasLayout container (necessary)
  2. with padding-top or border-top (axiom)
  3. containing a child (necessary)
  4. AP element (axiom) that is
  5. immediately followed by (necessary) an
  6. in-flow (necessary)
  7. hasLayout (necessary)
  8. sibling (necessary) X. Then, unless the AP element is the last in
  9. a consecutive sequence of (necessary)
  10. any number of (exhaustive)
  11. arbitrarily ordered (exhaustive)
  12. floated and AP (necessary)
  13. siblings (necessary) of which
  14. at least one is a float (necessary),

the top margin of X is treated as 0.

Example 1 gives one of the most basic test cases, in which a hasLayout container holds an AP element followed by a hasLayout element. This could be simplified further by just making these latter elements direct children of body.

Uninvestigated questions:

Notes

None.

Example 1. hasLayout non-RP container with AP child and hasLayout top-margined child. Margin is ignored.

Lorem ipsum

Example 2. hasLayout RP container with AP child and hasLayout top-margined child. Margin is ignored.

Lorem ipsum

Example 3. non-hasLayout container with AP child and hasLayout top-margined child. OK.

Lorem ipsum
AP
hasLayout 1

Example 4. hasLayout container with AP child and non-hasLayout top-margined child. OK.

Lorem ipsum

Example 5. dimensioned container with AP child and hasLayout top-margined child. Margin is ignored.

Lorem ipsum

Example 6. floated container with AP child and hasLayout top-margined child. Margin is ignored.

Lorem ipsum

Example 7. AP container with AP child and hasLayout top-margined child. Margin is ignored.

Lorem ipsum

Example 8. I-B container with AP child and hasLayout top-margined child. Margin is ignored.

Lorem ipsum

Example 9. hasLayout container with AP child and dimensioned top-margined child. Margin is ignored.

Lorem ipsum

Example 10. hasLayout container with AP child and floated top-margined child. OK.

Lorem ipsum

Example 11. hasLayout container with AP child and AP top-margined child. OK.

Lorem ipsum

Example 12. hasLayout container with AP child and I-B top-margined child. Margin is ignored.

Lorem ipsum

Example 100. hasLayout grandparent with non-hasLayout parent with AP child and hasLayout top-margined child. OK.

Lorem ipsum

Example 1. hasLayout non-RP container with AP child and hasLayout top-margined child. OK.

2
1
1
Lorem ipsum