Using code from W3schools 'Sidenav Overlay' I'm trying to create the same effect in Bootstrap. I have a .navbar-toggle floating to the left and the navigation button still shows when the overlay moves to the right. Not sure how to hide the navigation bar when an overlay appears. First post, thanks
CSS
.navbar { webkit-box-shadow: 0px 2px 3px rgba(100, 100, 100, 0.49); moz-box-shadow: 0px 2px 3px rgba(100, 100, 100, 0.49); box-shadow: 0px 2px 3px rgba(100, 100, 100, 0.49); background-color: white; padding: 5px; } .navbar-brand { position: absolute; width: 100%; left: 0; top: 5px; text-align: center; margin: auto; } .navbar-toggle { z-index:3; border: none; cursor: pointer; float: left; } .navbar-toggle a:hover { border: none; background-color: none; cursor: pointer; } .sidenav { height: 100%; width: 0; position: fixed; z-index: 1; top: 0; left: 0; background-color: #111; overflow-x: hidden; padding-top: 60px; transition: 0.5s; } .sidenav a { padding: 8px 8px 8px 32px; text-decoration: none; font-size: 25px; color: #818181; display: block; transition: 0.3s } .sidenav a:hover, .offcanvas a:focus{ color: #f1f1f1; } .sidenav .closebtn { position: absolute; top: 0; right: 25px; font-size: 36px; margin-left: 50px; } #main { transition: margin-left .5s; padding: 20px; } @media screen and (max-height: 450px) { .sidenav {padding-top: 15px;} .sidenav a {font-size: 18px;} }
HTML
<header> <div class="navbar navbar-default navbar-fixed-top" role="navigation" id="slide-nav"> <div class="container"> <div class="navbar-header"> <a class="navbar-toggle" onclick="openNav()"> <span class="sr-only" >Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> <a class="navbar-brand" href="#">Test Nav</a> <div id="mySidenav" class="sidenav"> <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a> <a href="#">About</a> <a href="#">Services</a> <a href="#">Clients</a> <a href="#">Contact</a> </div> </div> </div> </div> </header>
Javascript
function openNav() { document.getElementById("mySidenav").style.width = "250px"; } function closeNav() { document.getElementById("mySidenav").style.width = "0"; }
source share