Di bawah ini kita akan mempelajari cara membuat snackbar dengan CSS dan JavaScript.
Snackbar
Snackbar sering digunakan sebagai tooltips / popup untuk menampilkan pesan di bagian bawah layar.
Klik pada tombol di bawah ini untuk menampilkan snackbar. Kemudian akan hilang setelah 3 detik.
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> #snackbar { visibility: hidden; min-width: 250px; margin-left: -125px; background-color: #D2691E; color: #fff; text-align: center; border-radius: 2px; padding: 16px; position: fixed; z-index: 1; left: 50%; bottom: 30px; font-size: 17px; } #snackbar.show { visibility: visible; -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s; animation: fadein 0.5s, fadeout 0.5s 2.5s; } @-webkit-keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} } @keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} } @-webkit-keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} } @keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} } </style> </head> <body> <h2>Snackbar</h2> <p> Snackbar sering kali digunakan sebagai tooltips / popup untuk menampilkan pesan di bagian bawah layar. </p> <p> Klik tombol untuk menampilkan snackbar. Ini akan hilang setelah 3 detik. </p> <button onclick="myFunction()">Tampilkan Snackbar</button> <div id="snackbar">Hai ini contoh text yang ditampilkan!</div> <script> function myFunction() { var x = document.getElementById("snackbar"); x.className = "show"; setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000); } </script> </body> </html>
Buat Snackbar
Langkah 1) Tambahkan HTML:
Contoh
<!--Gunakan tombol untuk membuka snackbar--> <button onclick="myFunction()">Tampilkan Snackbar</button> <!-- Snackbar yang sebenarnya --> <div id="snackbar">Hai ini contoh text yang ditampilkan!</div>
Langkah 2) Tambahkan CSS:
Style pada snackbar dan tambahkan animasi:
Contoh
/* Snackbar - posisikan di bagian bawah dan tengah layar */
#snackbar {
visibility: hidden; /* Tersembunyi secara default. Terlihat saat diklik */
min-width: 250px; /* Tetapkan lebar minimum default */
margin-left: -125px; /*Bagilah nilai min-width dengan 2 */
background-color: #333; /* hitam untuk warna background */
color: #fff; /* warna text putih */
text-align: center; /* Posisi teks di tengah */
border-radius: 2px; /* border bulat */
padding: 16px; /* Padding */
position: fixed; /* Tetapkan posisi di atas layar */
z-index: 1; /* Tambahkan indeks-z jika perlu */
left: 50%; /* posisi tengah snackbar */
bottom: 30px; /* 30px dari bawah */
}
/* Tampilkan snackbar saat mengklik tombol (kelas ditambahkan dengan JavaScript) */
#snackbar.show {
visibility: visible; /* Tampilkan snackbar */
/* Tambahkan animasi: Ambil 0,5 detik untuk memudarkan dan menghilangkan snackbar.
Namun, tunda proses fade out selama 2,5 detik */
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
/* Animasi untuk memudarkan snackbar in dan out*/
@-webkit-keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 30px; opacity: 1;}
}
@keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 30px; opacity: 1;}
}
@-webkit-keyframes fadeout {
from {bottom: 30px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
@keyframes fadeout {
from {bottom: 30px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}Langkah 3) Tambahkan JavaScript:
Gunakan JavaScript untuk menambahkan kelas “tampilkan” ke container snackbar dengan mengklik tombol:
Contoh
function myFunction() {
// Dapatkan div
var x = document.getElementById("snackbar");
// Tambahkan "show" ke div
x.className = "show";
// setelah 3 detik, hapus kelas show dari DIV
setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000);
}