JSFiddle - React, Tailwind, and code Playground

by joshmoto

HTML

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/index.js"></script>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <a class="navbar-brand" href="#">Navbar</a>
  <button class="navbar-toggler" type="button" id="navbar-toggler">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="navbar-collapse" id="navbar-collapse">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Features</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Pricing</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">About</a>
      </li>
    </ul>
    <form class="form-inline">
      <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
      <button class="btn btn-outline-info my-2 my-sm-0" type="submit">Search</button>
    </form>
  </div>
</nav>

SCSS

.navbar {

  @media (max-width: 991.98px) {
    
    .navbar-toggler {
      z-index: 100;
    }

    .navbar-collapse {
      transition: all 2s ease;
      display: block;
      position: fixed;
      top: 0;
      left: 100%;
      background: #343a40;
      padding: 1rem;
      width: 200vh;
      height: 200vw;
      transform-origin: 0 0;
      transform: rotate(-90deg);
      opacity: 0;

      &.collapsed {
        transform: rotate(0);
        left: 0;
        width: 100vw;
        height: 100vh;
        opacity: 1;
      }

    }

  }

}

JavaScript

jQuery(document).ready(function($) {

  $('#navbar-toggler').on('click', function(e) {

    $('#navbar-collapse').toggleClass('collapsed');

  });

});