fixed-sidebar-vertical-menu
Sidebar with vertical menu, hidden on small screens, being inserted from left. Need to get this layout centered. Using Bootstrap 3.
by Mary Muster
HTML
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<body>
<div class="navbar navbar-fixed-top visible-xs">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="offcanvas" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Small Logo</a>
</div>
</div>
<div class="row-offcanvas row-offcanvas-left">
<div id="sidebar" class="sidebar-offcanvas col-sm-4">
<a class="hidden-xs" href="/" title="Startseite aufrufen">Fixed sidebar/menu with big Logo</a>
<div class="col-md-12">
<ul class="nav">
<li><a href="#">start</a></li>
<li><a href="#">link 1</a></li>
<li><a href="#">link 2</a></li>
</ul>
</div>
</div>
<main class="col-sm-8">
<h1>CONTENT</h1> Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />
<br />Long long text
<br />Long long text
<br />Long long text
<br />
<br />Long long text
<br />Long long text
<br />Long long text
<br />
<br />Long long text
<br />Long long text
<br />Long long text
<br />
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br />Long long text
<br...
CSS
html,
body,
#sidebar,
.row-offcanvas,
main {
height: 100%;
}
body {
color: BLACK;
padding-top: 90px;
}
/* navbar nicht sichtbar ab pad */
@media screen and (min-width: 768px) {
body {
padding-top: 0;
}
}
a {
color: white;
}
.navbar {
background-color: gold;
padding: 10px 15px;
}
.navbar-header {
border-bottom: 1px solid Gray;
}
/*
@media (min-width: 768px) {
.navbar {
padding-bottom: 20px;
padding-top: 20px;
}
.navbar-header {
padding-left: 265px;
border-bottom: none;
}
}
a.navbar-brand {
float: none;
}
a.navbar-brand {
font-size: 2.3em;
padding-left: 0;
padding-right: 0;
}
.navbar-brand {
padding: 0;
padding-top: 10px;
}
*/
.navbar-toggle {
margin-right: 0;
border-radius: 0;
}
.navbar-toggle .icon-bar {
background-color: white;
width: 30px;
height: 5px;
}
.navbar-toggle:hover .icon-bar {
background-color: orange;
}
#sidebar {
width: inherit;
min-width: 250px;
max-width: 250px;
background-color: Gray;
float: left;
position: relative;
overflow-y: auto;
overflow-x: hidden;
}
@media screen and (max-width: 768px) {
.row-offcanvas {
position: relative;
-webkit-transition: all 0.25s ease-out;
-moz-transition: all 0.25s ease-out;
transition: all 0.25s ease-out;
width: calc(100% + 250px);
}
.row-offcanvas-left {
left: -250px;
}
.row-offcanvas-left.active {
left: 0;
}
.sidebar-offcanvas {
position: absolute;
top: 0;
}
}
main {
overflow: auto;
}
JavaScript
jQuery(document).ready(function() {
jQuery('[data-toggle=offcanvas]').click(function() {
jQuery('.row-offcanvas').toggleClass('active');
});
});