0

很确定这是一个 IE6 错误,因为它适用于所有其他浏览器。

这个html代码的jsFiddle

        <div style="background:blue; width:600px; margin-left:auto; margin-right:auto;">
            BLUE
            <div style="background:red; position:absolute; width:100%; left:0;">
                red
            </div>
        </div>

所以“RED” div 应该是其容器(在本例中为主体)的 100% 宽度。在 IE6 中,它始终是 600px。是否有不涉及忽略ie6的修复程序?(我希望我能,相信我!)

4

1 回答 1

1

该元素相对于其第一个定位(非静态)祖先元素进行定位。绝对位置元素对于第一个具有非静态位置的父元素定位。如果没有找到这样的元素,包含块是<html>

因此,要使您的内部 div 相对于其父级定位为“绝对”,您必须使其父级定位为相对

jsFiddle 显示您的代码与父 div 相对

<div style="background:blue; width:600px; margin-left:auto; margin-right:auto;position:relative">BLUE
    <div style="background:red; position:absolute; width:100%; left:0;">red</div>
</div>

对于您的其他情况(ie6 错误?),我需要更多代码。

于 2013-02-25T13:21:06.200 回答