4

我有一个 a 的ul内部div,并且希望包含在高度方面div不受孩子的影响。ul

jsfiddle:http: //jsfiddle.net/9eCq6/3/

参考 jsfiddle,我希望黄色div不比蓝色高divs,并且颜色下方的文本块divs不会被红色推下ul- 也就是说,我希望它与块重叠下面的文字。

我怀疑答案在于定位,并受到所应用的浮动的影响,但我还没有找到解决方案。我应该怎么做或阅读才能找到解决方案?

编辑:我不想给父母一个固定的高度,因为我不知道可能会添加什么内容。

4

3 回答 3

4

使用绝对定位脱离父级。您还需要overflow: visible一个clearfix:

.wrap {
    position: relative;
    overflow: visible;
}

.wrap::after {
    content: "";
    display: table;
    clear: both;
}

.right {
    position: absolute;
    top: 0;
    right: 0;
}

.right ul {
    position: absolute;
    top: 100%;
    left: 0;
}
于 2013-01-24T18:08:56.117 回答
1

这篇旧的 BrainJar 文章是一篇关于 CSS 定位的优秀、详尽的参考资料。它绝对过时了,但保存得非常好。如果您首先花时间深入了解您正在处理的底层系统,那么您遇到这类问题的频率就会大大降低。

也就是说,您的问题的(部分)解决方案很简单。把div.under里面的div.wrap, 添加clear: left;到 CSS.under选择器中。看到这个小提琴

于 2013-01-24T18:28:52.737 回答
-2

给父级固定大小,并使用overflow:hidden.

于 2013-01-24T18:08:43.603 回答