【发布时间】:2015-03-17 05:08:57
【问题描述】:
我有一个必须滚动的 div。问题是它在一个固定的 div 内。 我试图以不同的方式解决这个问题,我浏览了这些帖子:
Div with scrollbar inside div with position:fixed
Have a fixed position div that needs to scroll if content overflows
但没有一个对我有用。
我想和你们一起测试一下,看看有什么问题。
我正在开发一个移动响应式网站。 它有一个导航菜单按钮,可以打开 .list div - 单击菜单按钮时。 我在导航栏之后插入了 .list 的 div。
当菜单打开时,它不会显示我的标签中的所有列表项。 我必须给我的主 div .list 不同的高度大小,我发现它效率不高。
我将粘贴导航栏的相关代码部分和相关的 CSS 部分。
HTML:
<div class="list">
<h2 id="cat-header"> ALL CATEGORIES</h2>
<ul class="sports">
<li class="mainli"></li>
<li class="mainli"></li>
<li class="mainli"></li>
</ul>
</div>
CSS:
.sports{
/*display: none;*/
padding: 0 ;
background-color: #fff;
margin: 0;
width:100%;
/*height: 210%*/
-webkit-overflow-scrolling: touch;
}
.list{
width: 99.9%;
/* overflow: hidden; */
/* overflow-y: scroll; */
/* top: 65%; */
overflow-x: hidden;
/*overflow-y: scroll;*/
height: 75%;
display: none;
-webkit-overflow-scrolling: touch;
}
当点击 #mob-menu-btn 时,它会打开 .list 并修复我的整个标签:
$('#mob-menu-btn').click(function(){
var isHidden = $('.sports').is(':visible');
if (isHidden){
$( "body" ).removeClass( "makeFixed" );
} else {
$( "body" ).addClass( "makeFixed" );
}
$('.list').slideToggle("fast");
})
我的 .makeFixed 看起来像这样:
.makeFixed{
position: fixed;
}
我最后测试了这个,它没有解决我的问题:
.makeFixed{
position: fixed;
top: 0;
bottom:0;
overflow-y:scroll;
overflow-x:hidden;
}
并在.sports 和.list 中更改了height: auto; 和overflow-y: scroll;。
可能是什么问题?
【问题讨论】:
标签: javascript jquery html css