我在一个div中有另外三个孩子将一个放在另一个上面。第三个是 JqueryMobile列表视图,需要overflow-y: scroll
才能使 listview 可滚动而无需滚动所有页面。
问题是如果我将 listview 的height
设置为100%
,这会将其高度设置为与父级相同,而不会计算出还有两个其他div占用空间,因此它将超出页面的限制,以便不显示某些行。
如何告诉 listview 填充父级而不会溢出页面?
==编辑==
这是小提琴http://jsfiddle.net/q4Mwz/3/
正如您所看到的,div listview的高度被设置为100%并且您无法看到最后一个li“Last Element”,因为它们已经溢出页面
答案 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);