Membuat Popup Modal Custom dengan jQuery dan CSS

By | 24 November 2025

Membuat Popup Modal Custom jQuery CSS adalah salah satu cara terbaik untuk menampilkan informasi tambahan tanpa mengalihkan pengguna dari halaman utama. Dengan kombinasi jQuery dan CSS, kita dapat membuat popup yang ringan, cepat, responsif, dan mudah dimodifikasi sesuai kebutuhan UI modern. Tidak seperti plugin besar seperti Bootstrap Modal atau SweetAlert, modal custom menawarkan fleksibilitas penuh serta ukuran file yang lebih kecil. Kita akan membahas langkah-langkah membuat popup modal sepenuhnya dari nol menggunakan HTML sederhana, jQuery untuk interaksi, dan CSS untuk gaya visual. Pembahasan meliputi struktur elemen, animasi, efek fade-in/out, desain elegan, responsivitas, serta beberapa tips aksesibilitas.

Tutorial ini sangat cocok bagi Anda yang ingin membuat popup notifikasi, form login, konfirmasi aksi, atau peringatan tanpa menggunakan library tambahan.

Kenapa Membuat Modal Custom?

Banyak developer pemula langsung menggunakan plugin modal dari framework seperti Bootstrap atau jQuery UI. Meskipun praktis, plugin tersebut kadang:

  • terlalu besar untuk kebutuhan modal sederhana,

  • sulit dikustomisasi tampilannya,

  • memiliki style bawaan yang membatasi,

  • memengaruhi performa di halaman ringan.

Dengan membuat modal custom sendiri, Anda mendapat berbagai keuntungan:

  1. Ukuran sangat kecil (hanya HTML, CSS, dan sedikit jQuery).

  2. Kontrol penuh terhadap UI.

  3. Bebas mengatur animasi, warna, rounding, shadow, hingga overlay.

  4. Responsif tanpa beban framework.

  5. Mudah diterapkan di berbagai jenis website.

Struktur Dasar Modal Menggunakan HTML

Berikut struktur minimal modal:

<button id="openModal">Buka Modal</button>

<div id="modalOverlay" class="modal-overlay">
  <div class="modal-box">
    <span id="closeModal" class="modal-close">&times;</span>
    <h2>Judul Modal</h2>
    <p>Ini adalah isi modal custom menggunakan jQuery dan CSS.</p>
  </div>
</div>

Bagian penting:

  • overlay → menutupi background (semi transparan)

  • modal-box → konten modal

  • close button → menutup popup

  • modal disembunyikan default dengan display: none;

Styling Popup Menggunakan CSS

Berikut CSS untuk tampilan modern, halus, dan responsif.

.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.modal-box {
  background: #fff;
  max-width: 420px;
  width: 90%;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
  position: relative;
  animation: modalFade .3s ease;
}

.modal-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 26px;
  cursor: pointer;
  color: #555;
}

@keyframes modalFade {
  from {opacity: 0; transform: scale(0.8);}
  to {opacity: 1; transform: scale(1);}
}

Penjelasan CSS:

  • overlay dibuat gelap semi transparan untuk fokus ke konten modal

  • box modal dibuat dengan border-radius lembut dan shadow besar

  • animasi modalFade memberikan efek muncul yang profesional

  • responsif berkat width: 90%

jQuery untuk Interaksi Modal (Open & Close)

Berikut script jQuery:

$(document).ready(function(){

  $("#openModal").click(function(){
    $("#modalOverlay").fadeIn(200);
  });

  $("#closeModal").click(function(){
    $("#modalOverlay").fadeOut(200);
  });

  // klik area gelap untuk menutup modal
  $(document).on('click', '#modalOverlay', function(e){
    if (e.target.id === "modalOverlay") {
      $("#modalOverlay").fadeOut(200);
    }
  });

});

Fitur jQuery di atas mencakup:

  • tombol membuka modal

  • tombol menutup modal

  • menutup modal jika klik di area overlay

  • animasi fade yang halus

Ini membuat modal terasa lebih natural seperti aplikasi modern.

Menambahkan Efek Blur pada Background (Opsional)

Jika ingin tampilan lebih premium seperti Apple UI, tambahkan blur:

.modal-overlay {
  backdrop-filter: blur(3px);
}

Efek ini memberi kesan elegan namun tetap ringan.

Membuat Modal Lebih Elegan dengan Tema Gelap (Dark Mode)

Jika website memiliki dark mode, Anda bisa membuat modal ikut menyesuaikan:

body.dark .modal-box {
  background: #1f2937;
  color: #e5e7eb;
  box-shadow: 0 10px 25px rgba(255,255,255,0.1);
}

body.dark .modal-close {
  color: #fff;
}

Anda cukup menambahkan class dark pada <body> ketika pengguna memilih mode gelap.

Menambahkan Modal untuk Form Login (Contoh Lanjutan)

Berikut implementasi modal untuk form login:

<div id="loginModal" class="modal-overlay">
  <div class="modal-box">
    <span id="closeLogin" class="modal-close">&times;</span>
    
    <h2 class="mb-3">Login Akun</h2>
    
    <form>
      <label>Email:</label>
      <input type="email" class="input" required>

      <label>Password:</label>
      <input type="password" class="input" required>

      <button type="submit" class="btn-login">Login</button>
    </form>
  </div>
</div>

CSS untuk inputnya:

.input {
  width: 100%;
  padding: 10px;
  margin: 8px 0;
  border-radius: 8px;
  border: 1px solid #ccc;
}

.btn-login {
  width: 100%;
  padding: 10px;
  background: #2563eb;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}
.btn-login:hover {
  background: #1d4ed8;
}

Modal login seperti ini banyak dipakai pada:

  • marketplace

  • website membership

  • admin panel

  • landing page produk

Tips Membuat Modal Custom Lebih Profesional

1. Tambahkan Animasi Transisi Halus

Transisi opacity atau scale memberi kesan premium.

2. Pastikan Kontras Warna Baik

Aksesibilitas sangat penting terutama modal yang berfungsi sebagai notifikasi.

3. Lock Scroll Ketika Modal Terbuka

Gunakan jQuery:

$("body").css("overflow", "hidden");

Saat modal ditutup:

$("body").css("overflow", "auto");

4. Tambahkan Fokus Otomatis untuk Elemen Penting

Contoh modal login otomatis fokus ke input email.

5. Optimalkan untuk Mobile

Gunakan ukuran modal fleksibel (max-width, width: 90%).

Kapan Harus Menggunakan Modal Custom?

Modal custom cocok untuk:

  • popup notifikasi

  • form login / register

  • popup konfirmasi aksi

  • promo pop-up

  • pengumuman singkat

  • preview gambar atau konten

Jika Anda butuh modal dengan banyak fitur kompleks (carousel, tab, steps), barulah plugin eksternal lebih tepat digunakan.

Kesimpulan

Membuat Modal jQuery CSS custom memberikan fleksibilitas penuh bagi developer untuk mendesain popup sesuai style website tanpa mengandalkan plugin besar. Dengan HTML sederhana, sedikit CSS untuk tampilan modern, dan jQuery untuk logika interaksi, modal yang elegan dan responsif dapat dibuat dengan cepat. Selain lebih ringan, modal custom juga mudah dikembangkan menjadi fitur lanjutan seperti login popup, dialog konfirmasi, dark mode, dan berbagai kebutuhan UI lainnya.