HTML 웹 개발에서 레이어 팝업 만들기

레이어 팝업은 웹 개발에서 모달 다이얼로그나 모달 창을 표시하는 데 사용되는 중요한 요소 중 하나입니다. 이 블로그 포스트에서는 JavaScript와 CSS를 사용하여 간단한 레이어 팝업을 만드는 방법을 살펴보겠습니다.



HTML 구조

먼저, HTML 구조를 정의합니다. 팝업을 표시할 버튼과 팝업 컨테이너를 생성합니다.

<!DOCTYPE html>
<html>
<head>
    <title>Layer Popup Example</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <button id="showPopup">Show Popup</button>
    <div id="popupContainer" class="popup-container">
        <div class="popup">
            <span id="closePopup" class="close-btn">×</span>
            <h2>Layer Popup Content</h2>
            <p>This is a simple layer popup.</p>
        </div>
    </div>
    <script src="script.js"></script>
</body>
</html>



CSS 스타일링 (styles.css)

팝업과 관련된 스타일을 정의합니다. 이 예제에서는 팝업을 화면 가운데 정렬하고 스타일을 설정합니다.

/* 기본 스타일 */
body {
    font-family: Arial, sans-serif;
    text-align: center;
}

/* 레이어 팝업 스타일 */
.popup-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    max-width: 400px;
    text-align: center;
}

.close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 20px;
    cursor: pointer;
}



JavaScript 인터랙션 (script.js)

팝업을 제어하는 JavaScript 코드입니다. 버튼을 클릭하면 팝업이 나타나고, 팝업 내의 닫기 버튼을 클릭하면 팝업이 사라집니다.

// 레이어 팝업 열기
document.getElementById('showPopup').addEventListener('click', function() {
    document.getElementById('popupContainer').style.display = 'block';
});

// 레이어 팝업 닫기
document.getElementById('closePopup').addEventListener('click', function() {
    document.getElementById('popupContainer').style.display = 'none';
});

이렇게하면 간단한 레이어 팝업을 만들 수 있습니다. 버튼 클릭 시 팝업이 나타나고, 닫기 버튼 클릭 시 팝업이 숨겨집니다. 팝업의 스타일은 CSS로 정의되어 있으며 HTML과 JavaScript를 사용하여 동작합니다.




이 예제를 활용하여 웹 애플리케이션에서 레이어 팝업을 사용하고 원하는 내용을 추가하여 사용자 정의된 팝업을 만들 수 있습니다.

Leave a Comment