如何阻止IE6通过负边距剪切位于其父元素之外的元素?

Pau*_*ite 1 css internet-explorer internet-explorer-6

我有一个元素通过负边距位于其父元素之外,如下所示:

<style>
.parent {
    height: 1%;
}

.element {
    float: left;
    margin-left: -4px;
}
</style>

...

<div class="parent">
    <div class="element">Element</div>
</div>
Run Code Online (Sandbox Code Playgroud)

在Internet Explorer 6中,位于.element其父元素外部的部分被剪切,即不可见,隐藏,中断.我该如何解决?

Pau*_*ite 5

分配position: relative;.element,像这样:

<style>
.parent {
    height: 1%;
}

.element {
    float: left;
    margin-left: -4px;
    position: relative; /* Fixes clipping issue in IE 6 */
}
</style>

...

<div class="parent">
    <div class="element">Element</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这只有在父元素hasLayout(这是一个太大的蠕虫进入这里)时才有必要.