HTML and CSS

Live Demo | Bootstrap Modal as Left/Right Sidebar

Bootstrap v5.1.3 modal popup opens from the right side

Simple bootstrap 5 popup example

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="bootstrap.min.css">
    <title>Hello, world!</title>
    <style>
    .modal.right .modal-dialog {
    position: fixed;
    margin: auto;
    width: 320px;
    height: 100%;
    -webkit-transform: translate3d(0%, 0, 0);
        -ms-transform: translate3d(0%, 0, 0);
         -o-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
}

.modal.right.fade .modal-dialog {
    right: 0;
    -webkit-transition: opacity 0.3s linear, right 0.3s ease-out;
       -moz-transition: opacity 0.3s linear, right 0.3s ease-out;
         -o-transition: opacity 0.3s linear, right 0.3s ease-out;
            transition: opacity 0.3s linear, right 0.3s ease-out;
}

.modal.right.fade.in .modal-dialog {
    right: 0;
}  </style>  
  </head>
  <body>
    <h1>Bootstrap Modal Popup!</h1>

<button type="button" class="btn" data-bs-toggle="modal" data-bs-target="#exampleModal">  Launch demo modal </button>
OR
<a href="#!" data-bs-toggle="modal" data-bs-target="#exampleModal"> Launch demo modal </a>

<!-- Modal -->
  <div class="modal right fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">          
          <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>          
        </div>
        <div class="modal-body">
          ...........
        </div>
      </div>
    </div>
  </div>

    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="jquery-3.6.0.min.js"></script>
    <script src="bootstrap.min.js"></script>
  </body>
</html>