HTML & CSS

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>&nbsp;
        </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';
    }
}

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다