방법 - 스낵바 / 토스트
CSS와 JavaScript로 스낵바/토스트를 만드는 방법을 알아보세요.
스낵바 / 토스트
스낵바는 종종 화면 하단에 메시지를 표시하는 툴팁/팝업으로 사용됩니다.
버튼을 클릭하면 스낵바가 표시됩니다. 3초 후에 사라집니다.
어떤분은 문자를..
스낵바 만들기
1단계) HTML 추가:
예시
<!-- Use a button to open the snackbar -->
<button onclick="myFunction()">Show
Snackbar</button>
<!-- The actual snackbar -->
<div
id="snackbar">Some text some message..</div>
2단계) CSS 추가:
스낵바 스타일 지정 및 애니메이션 추가:
예시
/* The snackbar
- position it at the bottom and in the middle of the screen */
#snackbar {
visibility: hidden;
/* Hidden by default. Visible on click */
min-width: 250px; /* Set a default minimum width */
margin-left: -125px; /* Divide value of min-width by 2 */
background-color: #333;
/* Black background color */
color: #fff; /* White text color */
text-align: center;
/* Centered text */
border-radius: 2px; /* Rounded borders */
padding: 16px;
/* Padding */
position: fixed; /* Sit on top of the screen */
z-index: 1;
/* Add a z-index if needed */
left: 50%; /* Center the snackbar */
bottom: 30px; /*
30px from the bottom */
}
/* Show the snackbar when clicking on a
button (class added with JavaScript) */
#snackbar.show {
visibility: visible; /* Show the snackbar */
/* Add
animation: Take 0.5 seconds to fade in and out the snackbar.
However,
delay the fade out process for 2.5 seconds */
-webkit-animation:
fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein
0.5s, fadeout 0.5s 2.5s;
}
/* Animations to fade the snackbar in
and 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;}
}
3단계) 자바스크립트 추가:
JavaScript를 사용하여 버튼 클릭으로 스낵바 컨테이너에 "show" 클래스를 추가합니다.
예시
function myFunction() {
// Get the snackbar DIV
var x = document.getElementById("snackbar");
// Add
the "show" class to DIV
x.className = "show";
// After 3 seconds, remove the show class from DIV
setTimeout(function(){ x.className = x.className.replace("show", ""); },
3000);
}