Reputation: 5236
As you see from the picture below the part of sidebar where I have scrollable TreeView didnt work, also I need to have fixed footer to this sidebar that doesn't move when user scroll the sidebar. How to fix it?
I want to have next structure.
.html
<div class="container-fluid max-height no-overflow">
<div class ="row max-height">
<form runat="server">
<!--SIDEBAR-->
<div class="col-sm-3 sidebar">
<div class="panel-body scrollable">
TREEVIEW HERE
</div>
<div class="panel-footer center-block">
BUTTON HERE
</div>
</div>
<!--MAIN CONTENT-->
<div class="col-sm-offset-3 main scrollable">
MAIN CONTENT HERE
</div>
</form>
</div>
</div>
</div>
css:
.scrollable {
height: 100%;
overflow: auto;
}
.max-height {
height: 100%;
}
.no-overflow {
overflow: hidden;
}
.sidebar {
display: none;
}
@media (min-width: 768px) {
.sidebar {
position: fixed;
bottom: 0;
left: 0;
z-index: 1000;
display: block;
overflow-x: auto;
overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
background-color: #f5f5f5;
}
}
.main {
padding-top: 20px;
}
@media (min-width: 768px) {
.main {
padding-right: 20px;
padding-left: 20px;
}
}
.panel-body{
overflow: auto;
}
.panel-footer{
background-color:#ff6a00;
}
Upvotes: 4
Views: 12231
Reputation: 49044
You can use the following HTML code:
<div class="container-fluid">
<div class="row">
<div class="col-xs-3">
<div style="position:fixed; top:0; bottom:40px; overflow-y:scroll; float:none; width:inherit;">
<footer style="position:fixed; bottom: 0; height:40px; background-color:red;">footer</footer>
</div>
</div>
<div class="col-xs-9">
</div>
</div>
</div>
The left side and its footer both get a position: fixed
Notice the width: inherit
which guarantees that the fixed column gets the same width as its parent. You can do the same for the footer.
To active the scroll bar you should set both the top
and bottom
properties according to Have a fixed position div that needs to scroll if content overflows
Upvotes: 4