Cara Membuat Modal Responsive Dengan HTML, CSS dan Javascript

Membuat modal yang responsive bisa kamu buat dengan HTML, CSS dan Javascript. Modal yang akan saya pastinya responsive, bisa diakses oleh pengguna mobile, tablet dan desktop. 

Jika sebelumnya kamu sering menggunakan framerwork css untuk membuat modal, sekarang kamu cukup menggunakan HTML, CSS dan Javascript untuk membuatnya.

Tentu pembuatan modal box ini menggunakan animasi agar gerakannya terlihat smooth. Memang dalam pembuatan aplikasi berbasis website sudah banyak menggunakan modal box untuk keperluan CRUD. Langsung saja kuy, masuk ke dalam pembuatan modal responsivenya.

Membuat Modal Responsive

Sebelum membuat modal responsive menggunakan HTML, CSS, dan Javascript, silahkan buat file projectnya terlebih dahulu. Untuk penamaan file project bebas atau kamu bisa mengikuti seperti ini :

  • HTML = index.html
  • CSS = style.css
  • Javascript = script.js

Jika file project sudah dibuat, buka file index.html dan masukkan script dibawah ini.

Baca Juga : Cara Membuat Form Login Menarik Dengan HTML & CSS

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Modal Responsive</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <button class="open-modal">Tampil Modal</button>
  <div class="bg-modal">
    <div class="modal">
      <div class="head-modal">
        <h2>Modal</h2>
         <svg class="close-modal"  fill="none" stroke="currentColor" viewBox="0 0 24 24"
                xmlns="http://www.w3.org/2000/svg">
                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
              </svg>
      </div>
      <div class="body-modal">
        <p>Lorem, ipsum dolor sit amet, consectetur adipisicing elit. Dolor eaque laudantium perspiciatis repellat. Rem reiciendis libero odio, omnis optio! Ea possimus corporis eveniet at culpa quia, ab. Natus ex id consequuntur molestiae animi numquam pariatur eum enim vero saepe aliquid rerum ab ea veritatis dolorum iure dignissimos, omnis dolor. Vitae.</p>
      </div>
    </div>
  </div>
  <script src="script.js"></script>
</body>
</html>

Selanjutnya masuk ke file css nya, tambahkan script seperti dibawah ini. 

body {
  padding: 0; 
  margin: 0;  
}
.bg-modal {
    position: fixed;
    top: -250%;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    z-index: 98;
    transition: .5s;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bg-modal.show {
  top:0;
   transition: .5s;
}

.modal {
    position: relative;
    margin: auto;
    width: 90%;
    opacity: 1;
    background-color: white;
    z-index: 99;
    height: 310px;
    border-radius: 10px;   
    padding: 7px; 
    margin: 12px;
    box-shadow: 0px 10px 5px rgba(0,0,0,.2);
}

.close-modal {
    width: 25px;
    font-weight: bold;
    position: absolute;
    top: -15px;
    right: -10px;
    padding: 7px;
    background-color: white;
    color: #2F2E41;
    cursor: pointer;
    border-radius: 30px;
    box-shadow: 2px 2px 5px rgba(0,0,0,.2);
}

.body-modal {
    display: flex;
    justify-content: center;
    align-items: center;

}

/*custom sesuai keinginan untuk ukuran modalnya*/

@media screen and (min-width: 320px) {
  .modal {
    
  }
}

@media screen and (min-width: 620px) {
  .modal {
    width: 400px;
  }
}

@media screen and (min-width: 760px) {
  .modal {
    
  }
}

@media screen and (min-width: 960px) {
  .modal {
    width: 400px;
  }
}

Baca Juga : Cara Membuat Card Responsive Dengan HTML & CSS

Terakhir, masuk ke file javascriptnya dan masukkan script dibawah ini agar modalnya bisa dijalankan.

const bgModal = document.querySelector('.bg-modal');
const openModal = document.querySelector('.open-modal');
const closeModal = document.querySelector('.close-modal');

openModal.addEventListener('click', function() {
  bgModal.classList.add('show');
});

closeModal.addEventListener('click', function() {
  bgModal.classList.remove('show');
});

Baca Juga : Cara Membuat Navbar Responsive Dengan HTML, CSS dan Javascript

Penjelasan :

Ada beberapa hal yang harus ketahui dalam pembuatan modal custom yang saya buat. Class untuk menampilkan modalnya adalah .open-modal, class untuk menutup modalnya adalah .close-modal  dan class yang di trigger oleh .open-modal adalah .bg-modal.

Agar modal terlihat lebih smooth ketika tampil dan tutup, cukup memberikan transition. Kamu bisa mengatur kembali settingan modalnya untuk ukuran mobile, tablet dan dekstop dalam @media-screen berdasarkan selector diatasnya.  

Baca Juga : Cara Membuat Web Responsive Dengan HTML dan CSS

Misalkan kamu ingin mengatur ukuran modalnya, kamu perlu memanggil selector .modal dalam @media-screen yang ingin kamu rubah.  

Untuk memberikan efek trigger pada classnya, saya menggunakan addEventListener untuk memberikan triggernya. Ketika class .open-modal di klik jalankan function di dalamnya dan ketika lass .close-modal di klik jalankan class di dalamnya.

Penutup

Berikut pembahasan mengenai cara membuat modal responsive dengan HTML, CSS dan Javascript. Bagaimana menurut kamu mengenai tutorial diatas, apakah cukup membantu? 

 Silahkan jika ada pertanyaan seputar modal bisa kamu tanyakan di kolom komentar. 

Baca Juga : Kelebihan dan Kekurangan Hosting Gratis yang Perlu Diketahui

Terimakasih telah berkunjung ke infokuy, nantikan artikel menarik lainnya  seputar CSS hanya di infokuy.

Next Post Previous Post
No Comment
Add Comment
comment url