문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
wiki:howto:how_to_-_css_js_modal [2021/04/09 13:19] emblim98 |
wiki:howto:how_to_-_css_js_modal [2023/01/13 18:44] (현재) |
||
|---|---|---|---|
| 줄 129: | 줄 129: | ||
| \\ | \\ | ||
| modal 헤더, 바디 그리고 풋터에 스타일을 지정하고 modal에 애니메이션 슬라이드를 추가합니다.\\ | modal 헤더, 바디 그리고 풋터에 스타일을 지정하고 modal에 애니메이션 슬라이드를 추가합니다.\\ | ||
| - | <code css> | ||
| - | |||
| - | </ | ||
| - | |||
| - | =====Bottom Modal (" | ||
| - | 하단에서 슾라이드 되는 화면 전체 너비의 모달을 생성하는 방법에 관한 예제 | ||
| <code css> | <code css> | ||
| < | < | ||
| 줄 145: | 줄 139: | ||
| /* The Modal (background) */ | /* The Modal (background) */ | ||
| .modal { | .modal { | ||
| - | display: none; /* Hidden by default */ | + | display: none; /* Hidden by default */ |
| - | position: fixed; | + | position: fixed; |
| - | z-index: 1; | + | z-index: 1; |
| - | padding-top: | + | padding-top: |
| left: 0; | left: 0; | ||
| top: 0; | top: 0; | ||
| - | width: 100%; /* Full width */ | + | width: 100%; /* Full width */ |
| - | height: 100%; | + | height: 100%; |
| - | overflow: auto; | + | overflow: auto; |
| - | background-color: | + | background-color: |
| - | background-color: | + | background-color: |
| } | } | ||
| .modal-content { | .modal-content { | ||
| 줄 198: | 줄 192: | ||
| } | } | ||
| /* Modal Body */ | /* Modal Body */ | ||
| - | .modal-body { | + | .modal-body {padding: 2px 16px;} |
| - | | + | |
| - | | + | |
| /* Modal Footer */ | /* Modal Footer */ | ||
| .modal-footer { | .modal-footer { | ||
| 줄 252: | 줄 244: | ||
| } | } | ||
| </ | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | =====Bottom Modal (" | ||
| + | 하단에서 슬라이드 되는 화면 전체 너비의 모달을 생성하는 방법에 관한 예제 | ||
| + | <code css> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <meta name=" | ||
| + | < | ||
| + | body {font-family: | ||
| + | |||
| + | /* The Modal (background) */ | ||
| + | .modal { | ||
| + | display: none; /* Hidden by default */ | ||
| + | position: fixed; /* Stay in place */ | ||
| + | z-index: 1; /* Sit on top */ | ||
| + | left: 0; | ||
| + | top: 0; | ||
| + | width: 100%; /* Full width */ | ||
| + | height: 100%; /* Full height */ | ||
| + | overflow: auto; /* Enable scroll if needed */ | ||
| + | background-color: | ||
| + | background-color: | ||
| + | -webkit-animation-name: | ||
| + | -webkit-animation-duration: | ||
| + | animation-name: | ||
| + | animation-duration: | ||
| + | } | ||
| + | |||
| + | /* Modal Content */ | ||
| + | .modal-content { | ||
| + | position: fixed; | ||
| + | bottom: 0; | ||
| + | background-color: | ||
| + | width: 100%; | ||
| + | -webkit-animation-name: | ||
| + | -webkit-animation-duration: | ||
| + | animation-name: | ||
| + | animation-duration: | ||
| + | } | ||
| + | |||
| + | /* The Close Button */ | ||
| + | .close { | ||
| + | color: white; | ||
| + | float: right; | ||
| + | font-size: 28px; | ||
| + | font-weight: | ||
| + | } | ||
| + | |||
| + | .close: | ||
| + | .close: | ||
| + | color: #000; | ||
| + | text-decoration: | ||
| + | cursor: pointer; | ||
| + | } | ||
| + | |||
| + | .modal-header { | ||
| + | padding: 2px 16px; | ||
| + | background-color: | ||
| + | color: white; | ||
| + | } | ||
| + | |||
| + | .modal-body {padding: 2px 16px;} | ||
| + | |||
| + | .modal-footer { | ||
| + | padding: 2px 16px; | ||
| + | background-color: | ||
| + | color: white; | ||
| + | } | ||
| + | |||
| + | /* Add Animation */ | ||
| + | @-webkit-keyframes slideIn { | ||
| + | from {bottom: -300px; opacity: 0} | ||
| + | to {bottom: 0; opacity: 1} | ||
| + | } | ||
| + | |||
| + | @keyframes slideIn { | ||
| + | from {bottom: -300px; opacity: 0} | ||
| + | to {bottom: 0; opacity: 1} | ||
| + | } | ||
| + | |||
| + | @-webkit-keyframes fadeIn { | ||
| + | from {opacity: 0} | ||
| + | to {opacity: 1} | ||
| + | } | ||
| + | |||
| + | @keyframes fadeIn { | ||
| + | from {opacity: 0} | ||
| + | to {opacity: 1} | ||
| + | } | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | < | ||
| + | |||
| + | <!-- Trigger/ | ||
| + | <button id=" | ||
| + | |||
| + | <!-- The Modal --> | ||
| + | <div id=" | ||
| + | |||
| + | <!-- Modal content --> | ||
| + | <div class=" | ||
| + | <div class=" | ||
| + | <span class=" | ||
| + | < | ||
| + | </ | ||
| + | <div class=" | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | <div class=" | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | < | ||
| + | // Get the modal | ||
| + | var modal = document.getElementById(" | ||
| + | |||
| + | // Get the button that opens the modal | ||
| + | var btn = document.getElementById(" | ||
| + | |||
| + | // Get the < | ||
| + | var span = document.getElementsByClassName(" | ||
| + | |||
| + | // When the user clicks the button, open the modal | ||
| + | btn.onclick = function() { | ||
| + | modal.style.display = " | ||
| + | } | ||
| + | |||
| + | // When the user clicks on < | ||
| + | span.onclick = function() { | ||
| + | modal.style.display = " | ||
| + | } | ||
| + | |||
| + | // When the user clicks anywhere outside of the modal, close it | ||
| + | window.onclick = function(event) { | ||
| + | if (event.target == modal) { | ||
| + | modal.style.display = " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| </ | </ | ||
| </ | </ | ||