绝对位置和溢出隐藏

时间:2011-01-05 15:20:01

标签: html css layout overflow css-position

我们有两个DIV,一个嵌入另一个。如果外部DIV未定位为绝对位置,那么位于绝对位置的内部DIV不会服从外部DIV隐藏的溢出(example)。

有没有机会让内部DIV服从外部DIV隐藏的溢出而不将外部DIV设置为绝对位置(因为这会破坏我们的完整布局)? 我们内部DIV的相对位置也不是一个选项,因为我们需要“扩展”表TD(exmple)。

还有其他选择吗?

4 个答案:

答案 0 :(得分:246)

<div>改为position: relative,将<div>改为position: absolute。它应该适合你。

答案 1 :(得分:24)

外部div的position: relative怎么样?在隐藏内部的示例中。它也不会在布局中移动它,因为您没有指定顶部或左侧。

答案 2 :(得分:2)

绝对定位的元素实际上是针对relative父级或最近找到的相对父级而定位的。因此,overflow: hidden元素应位于relativeabsolute元素之间:

<div class="relative-parent">
  <div class="hiding-parent">
    <div class="child"></div>
  </div>
</div>

.relative-parent {
  position:relative;
}
.hiding-parent {
  overflow:hidden;
}
.child {
  position:absolute; 
}

答案 3 :(得分:-3)

你只需要div这样:

<div style="width:100px; height: 100px; border:1px solid; overflow:hidden; ">
    <br/>
    <div style="position:inherit; width: 200px; height:200px; background:yellow;">
        <br/>
        <div style="position:absolute; width: 500px; height:50px; background:Pink; z-index: 99;">
            <br/>
        </div>
    </div>
</div>

我希望此代码可以帮助您:)