💡 퀵 접속: htm.kr/dialog
Dialog 태그는 모달 대화상자나 팝업을 만드는 데 사용됩니다. 사용자와의 상호작용이 필요한 알림, 확인, 입력 등의 기능을 구현할 때 활용됩니다.
<dialog open>
<h2>대화상자 제목</h2>
<p>대화상자 내용이 여기에 표시됩니다.</p>
<button onclick="this.closest('dialog').close()">닫기</button>
</dialog>
| 속성 | 설명 | 예시 |
|---|---|---|
| open | 대화상자를 기본적으로 표시 | <dialog open> |
| class | CSS 클래스 | <dialog class="modal"> |
| id | 고유 식별자 | <dialog id="dialog1"> |
<!-- 기본 모달 예제 -->
<div class="modal-example">
<h3>기본 모달 예제</h3>
<button onclick="document.getElementById('modal1').showModal()">모달 열기</button>
<dialog id="modal1">
<h2>모달 제목</h2>
<p>모달 내용이 여기에 표시됩니다.</p>
<button onclick="this.closest('dialog').close()">닫기</button>
</dialog>
</div>
<!-- 확인 대화상자 예제 -->
<div class="confirm-example">
<h3>확인 대화상자 예제</h3>
<button onclick="document.getElementById('confirm1').showModal()">확인 대화상자 열기</button>
<dialog id="confirm1">
<h2>확인</h2>
<p>정말 삭제하시겠습니까?</p>
<button onclick="this.closest('dialog').close()">취소</button>
<button onclick="this.closest('dialog').close()">확인</button>
</dialog>
</div>
<!-- 입력 대화상자 예제 -->
<div class="input-example">
<h3>입력 대화상자 예제</h3>
<button onclick="document.getElementById('input1').showModal()">입력 대화상자 열기</button>
<dialog id="input1">
<h2>입력</h2>
<form method="dialog">
<label>이름: <input type="text"></label>
<button type="submit">확인</button>
<button type="button" onclick="this.closest('dialog').close()">취소</button>
</form>
</dialog>
</div>
<style>
/* 모달 예제 스타일 */
.modal-example {
margin: 20px 0;
padding: 15px;
border: 1px solid #ddd;
border-radius: 4px;
}
/* 확인 대화상자 예제 스타일 */
.confirm-example {
margin: 20px 0;
padding: 15px;
border: 1px solid #ddd;
border-radius: 4px;
}
/* 입력 대화상자 예제 스타일 */
.input-example {
margin: 20px 0;
padding: 15px;
border: 1px solid #ddd;
border-radius: 4px;
}
/* 반응형 스타일 */
@media (max-width: 768px) {
.modal-example,
.confirm-example,
.input-example {
margin: 10px 0;
padding: 10px;
}
}
</style>
<style>
/* 기본 dialog 스타일 */
dialog {
padding: 20px;
border: 1px solid #ddd;
border-radius: 4px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
/* 강조 스타일 */
dialog.emphasis {
background-color: #f5f5f5;
}
/* 인용 스타일 */
dialog.quote {
background-color: #e8f5e9;
}
/* 반응형 스타일 */
@media (max-width: 768px) {
dialog {
padding: 10px;
}
}
</style>
dialog 태그가 올바르게 사용되었는지 확인하는 방법: