20

我有一个子元素overflow:visible;和父元素overflow:hidden;。子元素的高度高于父元素。

如果属性溢出设置为可见,为什么子元素会被隐藏?

HTML:

<div id="container">
    <div id="makeThisVisible"></div>
    <div id="thisRemainsHidden"></div>
</div> 

CSS:

#container {
    width: 500px;
    height: 100px;
    border: 1px solid black;
    background: Gray;
    /*OVERFLOW*/
    overflow: hidden;
}
#makeThisVisible {
    width: 240px;
    height: 300px;
    float: left;
    border: 1px solid red;
    background: IndianRed;
    /*OVERFLOW*/
    overflow: visible;
    margin-left: 8px;
}
#thisRemainsHidden {
    width: 240px;
    height: 300px;
    float: left;
    border: 1px solid teal;
    background: DarkCyan;
}

小提琴:http: //jsfiddle.net/ewNbu/

为了解决这个问题,我不想使用 visibility 属性#container或 position:absolute 属性#makeThisVisible,但我想找到另一种更好的方法来解决这个问题。

请帮忙!太感谢了。

4

1 回答 1

13

你可以尝试玩:

position:absolute;

这会将子元素超出父元素的范围。

演示

于 2013-07-17T09:01:29.640 回答