在固定宽度内使元素100%的身体 - IE6 BUG

时间:2013-02-25 13:10:37

标签: html css internet-explorer-6

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

jsFiddle of this html code

        <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? (我希望我能,相信我!)

1 个答案:

答案 0 :(得分:1)

元素相对于其第一个定位(非静态)祖先元素定位。 绝对位置元素将 relative 定位到具有静态位置的第一个父元素。如果未找到此类元素,则包含块为<html>

因此,为了让你的内部div相对于它的父级定位为“绝对”,你必须使它的父位置 relative

jsFiddle showing your code with parent div relative

<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 bug?),我需要更多代码。