我尝试制作类似于toyota.com网站的移动体验。基本上我想要显示菜单的DIV,并有一个滚动条用于溢出。我已将HTML和正文标记设置为100%...但我发现菜单未到达底部。它没有达到底部,因为标题的高度。但是,我不知道如何解决这个问题。我已经多次看过这个问题了,但这些案例似乎与我自己的情况不同。
如果可能的话,你可以看看我的JSFiddle吗?可以在https://jsfiddle.net/x5cry4Lx/5/
找到它我现有的CSS(作为参考)......:
html, body {
height: 100%;
}
body.mobile-nav-open {
overflow: hidden;
}
.starter-template {
text-align: center;
}
section#header {
height: auto;
padding: 15px;
border-bottom: 1px solid #000;
background: #fff;
height: 36px;
}
section#header a.openNav,
section#header a.closeNav {
font-size: 11px;
color: #000;
text-decoration: none;
text-transform: uppercase;
}
section#header a.openNav i,
section#header a.closeNav i {
display: block;
font-size: 20px;
text-align: center;
}
section#header a.closeNav {
display: none;
}
body.mobile-nav-open section#header a.openNav {
display: none;
}
body.mobile-nav-open section#header a.closeNav {
display: block;
}
section#mobile-menu {
width: 100%;
height: 100%;
background: #fff;
z-index: 999;
display: none;
overflow-y: scroll;
}
section#mobile-menu li {
list-style: none;
}
section#mobile-menu li a {
text-decoration: none;
}
我的HTML(作为参考)......:
<section id="header">
<div class="pull-right">
<a href="#" class="openNav"><i class="fa fa-bars"></i>Menu</a>
<a href="#" class="closeNav"><i class="fa fa-close"></i>Close</a>
</div>
<div class="clearfix"></div>
</section>
<section id="mobile-menu">
<div class="container">
<div class="starter-template">
<ul class="list-unstyled">
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div>
</div>
</section>
非常感谢任何帮助!
答案 0 :(得分:5)
有不同的方法来实现这一目标。
<强> 1。使用calc
。其中67px
是标题的高度。
的变化:
html,
body {
height: 100%;
margin: 0;
}
section#mobile-menu {
width: 100%;
height: calc(100% - 67px);
background: #fff;
z-index: 999;
display: none;
overflow-y: scroll;
}
<强> 2。制作标题position:absolute;
并给出正文padding-top:67px;
。
<强> DEMO 强>
的变化:
* {
box-sizing:border-box;
}
body {
padding-top:67px;
margin:0;
}
section#header {
padding: 15px;
border-bottom: 1px solid #000;
background: #fff;
height: 67px;
position:absolute;
left:0;
top:0;
width:100%;
}