CSS:Div高度:100%被他的兄弟div推倒

时间:2014-08-02 14:12:16

标签: jquery html css jquery-mobile

我在一个div中有另外三个孩子将一个放在另一个上面。第三个是 JqueryMobile列表视图,需要overflow-y: scroll才能使 listview 可滚动而无需滚动所有页面。
问题是如果我将 listview height设置为100%,这会将其高度设置为与父级相同,而不会计算出还有两个其他div占用空间,因此它将超出页面的限制,以便不显示某些行。

如何告诉 listview 填充父级而不会溢出页面?

==编辑==

这是小提琴http://jsfiddle.net/q4Mwz/3/
正如您所看到的,div listview的高度被设置为100%并且您无法看到最后一个li“Last Element”,因为它们已经溢出页面

2 个答案:

答案 0 :(得分:0)

如果您希望两个div坐在div.listview左右,并希望它们共同填充父div.noscroll的高度,那么自然会给div.listview一个高度100%将溢出父母。

如果你想要的是div.listview填充父亲身高的休息,一个解决方案是给前两个divs一个高度10%,然后给div.listview 80%的高度。

答案 1 :(得分:0)

我解决了一个简单的jQuery脚本,该脚本占用了页面的高度并减去了其他元素的高度:

    var h = $('#page').outerHeight(true) - $('#combo').outerHeight(true) - $('#header').outerHeight(true) -15;
    $('#listview_height').height(h);