Side Navigation Menu
Responsive Side Menu, Sidebar – Bootstrap4
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Meeny.com</title>
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" href="main.css">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.1/css/all.css" integrity="sha384-O8whS3fhG2OnA5Kas0Y9l3cfpmYjapjI0E4theH4iuMD+pLhbf6JI0jIMfYcK3yZ" crossorigin="anonymous">
<script src="main.js"></script>
</head>
<body>
<!-- sidebar -->
<div class="Mside bg-dark" id='aside' style='left:-250px'>
<div class="row">
<div class="col"><a class="navbar-brand text-light" href="#"><img src="images/symbol_w.svg" height="24px"> <span class="font-weight-bold">Meeny</span>.com</a></div>
<div class="col text-right"><a href="#" onclick="javascript:Msidebar('C');" class="text-light"><i class="fas fa-times fa-2x"></i></a></div>
</div>
<ul class="nav flex-column mt-5">
<li class="text-warning">Menu below with loading json</li>
<li class="nav-item">
<a class="nav-link active" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
</div>
<!-- NavBar -->
<div class="navbarwrap fixed-top MeenyNavTrs py-4">
<div class="collapse bg-dark" id="collapseUp">
<div class="p-5 text-center text-light">
The entire menu (Sitemap) is created here to facilitate user convenience.
</div>
</div>
<div class="container">
<nav class="navbar navbar-expand-lg navbar-dark">
<a class="navbar-brand" href="#"><img src="images/symbol_w.svg" height="24px"> <span class="font-weight-bold">Meeny</span>.com</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<div class="navbar-toggler-inner"></div>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a href="#" onclick="javascript:Msidebar('L');" class="nav-link"><i class="fas fa-arrow-circle-left"></i></a>
</li>
<li class="nav-item">
<a href="#" onclick="javascript:Msidebar('R');" class="nav-link"><i class="fas fa-arrow-circle-right"></i></a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="collapse" href="#collapseUp" role="button" aria-expanded="false" aria-controls="collapseUp"><i class="fas fa-arrow-circle-up"></i></a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample"><i class="fas fa-arrow-circle-down"></i></a>
</li>
<li class="nav-item active">
<a class="nav-link" href="#">About Us <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Business</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Products
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Category 1</a>
<a class="dropdown-item" href="#">Category 2</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Category 3</a>
<a class="dropdown-item" href="#">Category 4</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Investing</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Press</a>
</li>
</ul>
</div>
</nav>
<div class="collapse mb-3 bg-dark" id="collapseExample">
<div class="p-5 text-center text-light">
The entire menu (Sitemap) is created here to facilitate user convenience.
</div>
</div>
</div>
</div>
<div id="carouselExampleCaptions" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleCaptions" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="1"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active" style="background-image: url(images/n1.png);">
<!-- <img src="images/m1.jpg" class="d-block w-100 " style="height: 57vw; min-height:550px; "> -->
<div class="carousel-caption">
<h3 class="display-4 w100 text-light MfadeInDown"><span class="w700 text-success">Meeny</span>.com<br class="d-md-none" /><span class="text-light w400"> - HTML & CSS</span></h3>
<p class="text-light">Bootstrap4 - responsive navbar</p>
<br><br>
</div>
</div>
<div class="carousel-item" style="background-image: url(images/b3.png);">
<!-- <img src="images/m2.jpg" class="d-block w-100 " style="height: 57vw; min-height:550px;"> -->
<div class="carousel-caption">
<h3 class="display-4 w100 text-light MfadeInDown"><span class="w700 text-primary">Meeny</span>.com<br class="d-md-none" /><span class="text-light w400"> - HTML & CSS</span></h3>
<p class="text-light">Bootstrap4 Theming - change font/color</p>
<a href="" class="btn btn-primary rounded-pill">Link</a>
</div>
</div>
<div class="carousel-item" style="background-image: url(images/T3.png);">
<!-- <img src="images/m2.jpg" class="d-block w-100 " style="height: 57vw; min-height:550px;"> -->
<div class="carousel-caption">
<h3 class="display-4 w100 text-light MfadeInDown"><span class="w700 text-primary">Meeny</span>.com<br class="d-md-none" /><span class="text-light w400"> - HTML & CSS</span></h3>
<p class="text-light">Bootstrap4 Theming - change font/color</p>
<a href="" class="btn btn-primary rounded-pill">Link</a>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleCaptions" role="button" data-slide="prev"><img src="images/b_prev.png" alt=""></a>
<a class="carousel-control-next" href="#carouselExampleCaptions" role="button" data-slide="next"><img src="images/b_next.png" alt=""></a>
</div>
<!--
<img src="images/b1.png" alt="" class="img-fluid">
<img src="images/b2.png" alt="" class="img-fluid">
<img src="images/b3.png" alt="" class="img-fluid">
-->
<div class="container">
<div class="jumbotron mt-3">
<h1 class="display-4">Hello, world!</h1>
<p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
<hr class="my-4">
<p>It uses utility classes for typography and spacing to space content out within the larger container.</p>
<a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a>
</div>
<div>
<div class="row row-cols-3 text-center">
<div class="p-4 bg-primary">primary</div>
<div class="p-4 bg-secondary">secondary</div>
<div class="p-4 bg-success">success</div>
<div class="p-4 bg-danger">danger</div>
<div class="p-4 bg-warning">warning</div>
<div class="p-4 bg-info">info</div>
</div>
</div>
<p class="text-primary">.text-primary</p>
<p class="text-secondary">.text-secondary</p>
<p class="text-success">.text-success</p>
<p class="text-danger">.text-danger</p>
<p class="text-warning">.text-warning</p>
<p class="text-info">.text-info</p>
<p class="text-light bg-dark">.text-light</p>
<p class="text-dark">.text-dark</p>
<p class="text-body">.text-body</p>
<p class="text-muted">.text-muted</p>
<p class="text-white bg-dark">.text-white</p>
<p class="text-black-50">.text-black-50</p>
<p class="text-white-50 bg-dark">.text-white-50</p>
<p><a href="#" class="text-primary">Primary link</a></p>
<p><a href="#" class="text-secondary">Secondary link</a></p>
<p><a href="#" class="text-success">Success link</a></p>
<p><a href="#" class="text-danger">Danger link</a></p>
<p><a href="#" class="text-warning">Warning link</a></p>
<p><a href="#" class="text-info">Info link</a></p>
<p><a href="#" class="text-light bg-dark">Light link</a></p>
<p><a href="#" class="text-dark">Dark link</a></p>
<p><a href="#" class="text-muted">Muted link</a></p>
<p><a href="#" class="text-white bg-dark">White link</a></p>
<div class="p-3 mb-2 bg-primary text-white">.bg-primary</div>
<div class="p-3 mb-2 bg-secondary text-white">.bg-secondary</div>
<div class="p-3 mb-2 bg-success text-white">.bg-success</div>
<div class="p-3 mb-2 bg-danger text-white">.bg-danger</div>
<div class="p-3 mb-2 bg-warning text-dark">.bg-warning</div>
<div class="p-3 mb-2 bg-info text-white">.bg-info</div>
<div class="p-3 mb-2 bg-light text-dark">.bg-light</div>
<div class="p-3 mb-2 bg-dark text-white">.bg-dark</div>
<div class="p-3 mb-2 bg-white text-dark">.bg-white</div>
<div class="p-3 mb-2 bg-transparent text-dark">.bg-transparent</div>
</div>
</body>
</html>
main.scss
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap');
$font-family-base: 'Roboto', sans-serif;
$enable-responsive-font-sizes: true;
$color-1 : #0F4C81;
$color-2 : #7209b7;
$color-3 : #f72585;
$color-4 : #4361ee;
$color-5 : #4cc9f0;
$color-6 : #237a94;
$primary: $color-1;
$secondary: $color-2;
$success: $color-3;
$info: $color-4;
$warning: $color-5;
$danger: $color-6;
// Dropdown menu container and contents.
$dropdown-bg: $color-1;
$dropdown-link-color: $color-5;
$dropdown-link-hover-color: darken($color-5, 20%);
$dropdown-link-hover-bg: darken($color-1, 10%);
$dropdown-divider-bg: lighten($color-1, 10%);
$dropdown-border-color: rgba($color-5, .15) !default;
@import "scss/bootstrap";
html{
font-size: 15.25px;
letter-spacing: -0.02em;
word-spacing: 0.05em;
}
html,body,.carousel,.carousel-inner,.carousel-item{height: 100%;}
.carousel-item{
background-size: cover;
background-position: center;
}
.carousel-caption{
transform: translateY(-50%);
bottom: initial;
top: 50%;
}
.navbar-toggler {
&:focus {
outline: none;
}
border: 1px solid $warning;
cursor: pointer;
width: 1.8em;
height: 1.8em;
padding: 0 0 0.15em 0.35em;
.navbar-toggler-inner,
.navbar-toggler-inner::before,
.navbar-toggler-inner::after
{
width: 1em;
height: 0.16em;
background-color: $warning;
position: absolute;
}
.navbar-toggler-inner::before
{
content: "";
display: block;
top: -0.3em;
}
.navbar-toggler-inner::after
{
content: "";
display: block;
bottom: -0.3em;
}
.navbar-toggler-inner{
transition: 0.2s;
transform: rotate(0deg);
}
}
.navbar-toggler.active {
.navbar-toggler-inner{
transition: 0.2s;
transform: rotate(45deg); // 45+360
}
.navbar-toggler-inner::before{
top: 0;
opacity: 0;
}
.navbar-toggler-inner::after{
bottom: 0;
transform: rotate(-90deg);
}
}
.carousel-indicators{
li{
border-radius: 50%;
width: 10px;
height: 10px;
}
li.active {
width: 14px;
height: 14px;
background-color: $color-1;
margin-top: -2px;;
}
}
.w100 {font-weight: 100 !important;}
.w300 {font-weight: 300 !important;}
.w400 {font-weight: 400 !important;}
.w500 {font-weight: 500 !important;}
.w700 {font-weight: 700 !important;}
.w900 {font-weight: 900 !important;}
.nav-colored{background-color: $primary;}
.nav-transparent {background-color: transparent;}
.MeenyNavTrs {
transition: 1s;
-webkit-transition: 1s;
}
@keyframes MfadeInDown{
0% {
opacity: 0;
-webkit-transform: translate3d(0,-100%,0);
transform: translate3d(0,-100%,0);
}
40%{
opacity: 1;
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
}
.MfadeInDown{
animation-name: MfadeInDown;
animation-duration: 3s;
animation-delay: 3s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
}
::-webkit-scrollbar {
width: 0.25vw;
height: 0.25vw;
}
::-webkit-scrollbar-thumb {
background: $color-1;
}
::-webkit-scrollbar-track {
background: $light;
}
//Internet explorer
Body{
scrollbar-arrow-color: $color-1;
scrollbar-face-color: $color-1;
scrollbar-track-color: lighten($color-1, 40%);
scrollbar-3dlight-color: lighten($color-1, 20%);
scrollbar-highlight-color: lighten($color-1, 15%);
scrollbar-shadow-color: lighten($color-1, 10%);
scrollbar-darkshadow-color: lighten($color-1, 5%);
}
.Mside{
position: fixed;
width: 250px;
height: 100vh;
z-index: 2000;
padding: 20px;
transition: .5s;
-webkit-transition: .5s;
transition-timing-function: ease-in-out;
ul > li > a{
color: $white;
&:hover {
color: $color-3;
}
}
}
main.js
$(document).ready( $(function(){
var navbtn = $('.navbar-toggler');
var nav = $('.navbarwrap');
$(navbtn).click(function(){
$(navbtn).toggleClass('active');
})
$(window).scroll(function(){
var scroll = $(window).scrollTop();
if(scroll >= 100) {
nav.removeClass('nav-transparent py-4').addClass('nav-colored');
}else{
nav.removeClass('nav-colored').addClass('nav-transparent py-4');
}
})
}))
function Msidebar(loca){
var Wwidth = document.body.clientWidth;
var aside = document.getElementById('aside');
if(loca=='L'){
aside.style.left = '0px';
}else if(loca=='R'){
aside.style.left = (Wwidth - 250) + 'px';
}else{//Close
aside.style.left = '-250px';
}
}