在某些jQuery移动设备标签中,我的内容需要滚动条。
控制它们的导航栏位于标题中,如this fiddle。
我尝试在标签内容的所有级别上设置height: 100%; overflow: auto;
,但滚动条仍然会作为整体应用于页面。
如何将溢出的滚动条自适应地应用于选项卡式内容?
HTML
<div data-role="page" id="mainPage">
<div data-role="tabs" id="tabs">
<div data-role="header" style="overflow:hidden;">
<h1>I'm a header</h1>
<a href="#" data-icon="gear" class="ui-btn-right">Options</a>
<div data-role="navbar">
<ul>
<li><a href="#one" class="ui-btn-active">One</a></li>
<li><a href="#two">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
</div>
</div>
<div id="one" class="ui-body-d ui-content tabContent">
<h1>First tab contents</h1>
</div>
<div id="two">
<ul data-role="listview" data-inset="true">
<li><a href="#">Acura</a></li>
<li><a href="#">Audi</a></li>
<li><a href="#">BMW</a></li>
<li><a href="#">Cadillac</a></li>
<li><a href="#">Ferrari</a></li>
</ul>
</div>
</div>
</div>
JS
$(document).ready(function() {
var $one = $('#one')
for(var i=0; i<1000; i++){
$one.append('<br/>content')
}
})
CSS
body{
overflow:hidden;
}
.tabContent{
height:100%;
overflow:auto;
}
答案 0 :(得分:1)
#one{
height:330px;
overflow-y:scroll;
}
更新:你去了http://jsfiddle.net/VjYq9/5/
$one.height($(window).height()-120); //note that -120 must be the size of the header, so it is the window size minus the size of the header so "#one" would fit the screen!
答案 1 :(得分:0)
只有CSS解决方案,@ user1382306,请参见下文:
.max-height-occupied {
position: absolute;
top: 88px; /*your header height*/
right: 0;
bottom: 44px; /*your footer height */
left: 0;
}
目标内容div的内容如下:
<div data-role="content" data-theme="b" class="max-height-occupied">