Non-hasLayout, relatively positioned, z-index:auto elements do not have stacking context–like behaviour in IE6

Minimal test case

div.float {
	float: left;
	margin-top: 10px;
        margin-right: 50px;
	width: 250px;
	background-color: blue;
}

This unstyled div is a sibling of the float. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate.

Analysis

If an RP non-hasLayout parent container of a child float is such that its content box bottom lies below the level of the bottom of the float, then the background of the container is rendered over the top of the float.

CSS 2.1 CR states that in a given box with stacking context–like behaviour, RP z-index:auto dependants are to be rendered above floated dependants; in this bug the container div appears not to have stacking context–like behaviour (as is should for CSS 2.1 CR compliance) so that both it and its child float are being painted by a common containing stacking context (in this case, the root element) and hence the RP container div is being rendered on top of its floated child.

See also