我试图实现一个可滚动的div,其内容不会在页脚后面溢出。有一个侧边栏有一个搜索,下面有另一个隐藏的div,显示下面显示的结果的过滤器选项。结果需要填充剩余的可用高度,如果没有足够的空间则滚动。它溢出的那一刻,所以我看不到底部的结果,因为它们隐藏在页脚后面。我很难让结果div只填充剩余的空间。
HTML:
models.py
的CSS:
<div id="header">
header
</div>
<div id="map-wrapper">
<div id="map-sidebar">
<div id="map-search">
<input id="search" type="text" class="form-control" placeholder="Enter location" />
<div id="filters">
<input/>
<input/>
<input/>
</div>
</div>
<div id="map-results">
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
</div>
</div>
<div id="map"></div>
</div>
<div id="footer">
footer
</div>
的jsfiddle: https://jsfiddle.net/me6nceca/
感谢您的帮助
答案 0 :(得分:0)
您已在所有div上设置属性,使其具有1 px纯红色边框。从您的主要CSS中删除它,您将看到地图结果显示全屏,没有干扰。
如果你想在某些div上使用红色边框,请创建一个类:
.redBorder {
border: 1px solid red;
}
并将其添加到您想要镶边的div。
由于您将地图设置为&#34; left:250px;&#34;,您还需要为您的页脚声明它,使其宽度与地图相同(因此不会与地图重叠) )。请参阅更新的小提琴:https://jsfiddle.net/john_h/me6nceca/2/
此红色边框可能对您很重要,因此请将该类添加到您想要的特定div中。
CSS:
.redBorder {
border: 1px solid red;
}
#map-wrapper {
position: fixed;
top: 60px;
bottom: 30px;
left: 0;
right: 0;
width: 100%;
}
#map {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 250px;
background: blue;
}
#map-sidebar {
width: 250px;
height: 100%;
}
#map-search {
margin: 15px;
}
#map-results {
height: 100%;
overflow-y: scroll;
border: 1px solid purple;
}
#header {
height: 60px;
top:0;
left:0;
right:0;
position: fixed;
text-align: center;
}
#filters {
display: none;
}
#footer {
height: 30px;
bottom: 0;
left: 250px;
right:0;
position: fixed;
text-align: center;
width: 63%;
}
HTML:
<div id="header">
header
</div>
<div id="map-wrapper">
<div id="map-sidebar">
<div id="map-search">
<input id="search" type="text" class="form-control" placeholder="Enter location" />
<div id="filters">
<input/>
<input/>
<input/>
</div>
</div>
<div id="map-results">
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
<p>content</p>
</div>
</div>
<div id="map"></div>
</div>
<div id="footer">
footer
</div>
只需将redBorder类添加到您想要红色边框的任何位置。
答案 1 :(得分:0)
尝试更新此内容:
#map-results {
height: 80%;
overflow-y: scroll;
border: 1px solid purple;
}
答案 2 :(得分:0)
在#map-results
的CSS中使用此代码:
height: calc(100% - 60px);