💡 퀵 접속: htm.kr/legend
Legend 태그는 HTML 문서에서 `fieldset` 요소의 제목을 정의하는 데 사용되는 태그입니다. 폼의 구조를 명확하게 하고 사용자가 폼의 각 섹션을 쉽게 이해할 수 있도록 도와주며, 접근성을 향상시키는 중요한 역할을 합니다.
<form class="user-form">
<fieldset>
<legend>개인 정보</legend>
<div class="form-group">
<label for="name">이름</label>
<input type="text" id="name" name="name">
</div>
</fieldset>
<fieldset>
<legend class="required">필수 정보</legend>
<div class="form-group">
<label for="email">이메일</label>
<input type="email" id="email" name="email" required>
</div>
</fieldset>
<fieldset>
<legend>
<span class="icon">📝</span>
추가 정보
</legend>
<div class="form-group">
<label for="message">메시지</label>
<textarea id="message" name="message"></textarea>
</div>
</fieldset>
</form>
| 속성 | 설명 | 예시 |
|---|---|---|
| class | CSS 클래스 | <legend class="required"> |
| id | 범례 ID | <legend id="personal-info"> |
| style | 인라인 스타일 | <legend style="color: red"> |
<form class="registration-form">
<fieldset class="personal-info">
<legend>
<span class="icon">👤</span>
개인 정보
</legend>
<div class="form-group">
<label for="name" class="required">이름</label>
<input type="text" id="name" name="name" required>
</div>
<div class="form-group">
<label for="email" class="required">이메일</label>
<input type="email" id="email" name="email" required>
</div>
</fieldset>
<fieldset class="preferences">
<legend>
<span class="icon">⭐</span>
선호 사항
</legend>
<div class="form-group">
<label>관심 분야</label>
<div class="checkbox-group">
<label>
<input type="checkbox" name="interests" value="web">
웹 개발
</label>
<label>
<input type="checkbox" name="interests" value="mobile">
모바일 개발
</label>
</div>
</div>
</fieldset>
<fieldset class="agreement">
<legend class="required">
<span class="icon">📋</span>
약관 동의
</legend>
<div class="form-group">
<label>
<input type="checkbox" name="terms" required>
이용약관에 동의합니다
</label>
</div>
</fieldset>
</form>
<style>
/* 필드셋 기본 스타일 */
fieldset {
border: 1px solid #ddd;
border-radius: 4px;
padding: 20px;
margin-bottom: 20px;
}
/* 범례 기본 스타일 */
legend {
font-weight: 600;
color: #333;
padding: 0 10px;
}
/* 아이콘 스타일 */
.icon {
margin-right: 8px;
font-size: 18px;
}
/* 필수 입력 필드 범례 */
legend.required::after {
content: " *";
color: #dc3545;
}
/* 폼 그룹 스타일 */
.form-group {
margin-bottom: 15px;
}
/* 레이블 스타일 */
label {
display: block;
margin-bottom: 8px;
font-weight: 500;
color: #333;
}
label.required::after {
content: " *";
color: #dc3545;
}
/* 입력 필드 스타일 */
input[type="text"],
input[type="email"] {
width: 100%;
padding: 8px 12px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
}
/* 체크박스 그룹 스타일 */
.checkbox-group {
display: flex;
flex-direction: column;
gap: 10px;
}
.checkbox-group label {
display: flex;
align-items: center;
gap: 8px;
font-weight: normal;
cursor: pointer;
}
/* 호버 및 포커스 스타일 */
input:focus {
outline: none;
border-color: #007bff;
box-shadow: 0 0 0 2px rgba(0,123,255,0.25);
}
/* 반응형 스타일 */
@media (max-width: 768px) {
fieldset {
padding: 15px;
}
.checkbox-group {
gap: 12px;
}
input[type="text"],
input[type="email"] {
font-size: 16px;
}
}
</style>
legend 태그가 올바르게 사용되었는지 확인하는 방법: