웹프로그래밍 HTML/HTML 구조와 규칙
태그의 분류 및 속성
별초롱언니
2025. 3. 4. 20:56
▣ 미리 정의되어 있는 태그
· 사용자가 변경할 수 없으며 사용 용도에 맞게 사용
▣ 사용자가 직접 정의하여 사용하는 태그
· 사용자가 태그를 직접 설계하고 HTML 문서에 포함하여 작성
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>미리 정의된 태그</title>
</head>
<body>
<h1>문서의 제목</h1>
<hr>문서의 구분선</hr>
<p>단락 구분</p>
<strong>중요한 문장</strong>
<br> 줄 바꿈
</body>
</html>

▣ 사용자 정의 태그 작성 시 유의점
· 일반적인 의미로 해석할 수 있도록 포함 관계 설정
· 동등 관계로도 설정 가능
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>사용자 정의 태그</title>
</head>
<body>
<company>한빛아카데미
<department>영업부</department>
<department>편집부
<team>그래픽팀</team>
</department>
</company>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>사용자 정의 태그</title>
</head>
<body>
<company>한빛아카데미
<department>영업부</department>
<department>편집부
<team>그래픽팀</team>
</department>
</company>
<p></p>
<university>한국대학교
<major>컴퓨터학교</major>
<major>경영정보학</major>
</university>
</body>
</html>

▣ 속성
· 태그의 종속적인 정보를 표현하기 위해 사용
· 태그없이 단독으로 사용할 수 없음
· 속성 = "값" 형태로 작성
<시작 태그 속성 = "값"> 내용 </종료 태그>
▣ 글로벌 속성
· 모든 태그에 공통적으로 사용 가능한 속성
속성 | 설명 |
accesskey = "단축키" | 공백으로 구분하여 여러 개의 단축키를 지정할 수 있다. 단축키를 작성한 순서대로 순위가 매겨지기 때문에 제일 처음 작성한 단축키가 적용된다. |
class = "클래스명" | 공백으로 구분하여 여러 개의 클래스명을 지정할 수 있다. 클래스 속성은 동일한 문서 안에 있는 여러 개의 태그에 동일한 이름으로 지정할 수 있다. 스타일 시트를 적용할 경우에는 셀렉터로도 이용 가능하다. |
contrteditable = "편집할 수 있는지 없는지" | 편집할 수 있는 경우에는 true로 지정하고 빈 문자(" ")이거나 편집할 수 없는 경우에는 false로 지정한다 |
contextmenu = "menu 요소의 id 속성값" | 메뉴 요소의 id 속성값을 지정한다. |
dir = "텍스트 표시 방향" | 왼쪽에서 오른쪽인 경우에는 itr, 오른쪽에서 왼쪽인 경우에는 rti로 지정한다. |
draggable="드래그 할 수 있는지 없는지" | 드래그 할 수 있는 경우에는 true, 드래그 할 수 없는 경우에는 false로 지정한다. |
dropzone=''드롭한 아이템 처리 방법" | 값을 copy로 지정하면 드래그한 데이터가 이 장소에 복사되고, move로 지정하면 드래그한 데이터가 이동한다. 또한 link라고 지정하면 오리지널 데이터와 드롭된 곳 사이에 어떤 연결이 만들어진다. |
hidden="hidden" | 이 속성이 지정된 요소는 브라우저에 표시되지 않는다. <p hidden> 또는 <p hidden="hidden">과 같이 지정할 수 있다. |
id="이름" | 문서 내에서 해당 태그를 유일하게 식별하는 역할을 한다. 동일한 문서 내에서 동일한 이름을 중복하여 사용할 수 없다. |
lang="언어 코드" | 한국어는 ko, 영어는 en, 미국 영어는 en-US, 프랑스어는 fr, 일본어는 ja 등 언어의 속성값을 지정한다. |
spellcheck="철자 체크를 할 것인지 말 것인지" | 철자 체크를 할 것인지 말 것인지 지정한다. |
style="CSS선언" | 세미콜론으로 구분하면 여러 개의 CSS 선언을 지정할 수 있다. |
tabindex="이동 순서" | 실제로 Tab키를 이용하는지 아닌지는 환경에 따라 다르다. 값에는 정수를 지정하며, 값이 작은 것에서 큰 것으로 이동된다. 값이 0으로 지정된 요소와 tabindex 속성이 지정되어 있지 않은 요소는 1 이상의 값이 지정되어 있는 요소 다음으로 포커스가 이동된다. 또한 마이너스 값을 지정한 경우, 포커스는 가능하지만 Tab키에 의한 이동 대상은 되지 않는다. |
▣ 미리 정의된 속성
· 특정 태그에만 사용할 수 있도록 미리 정의된 속성
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>속성 사용</title>
</head>
<body>
<h1>미리 정의된 속성을 사용한 사례</h1>
<img src="dog.jpg" border="1" width="200px" height="230px" alt="Welcome" title="너무기여어">
<a href="#" target="_blank" title="클릭하세요!">저자 카페 방문</a>
</body>
</html>

▣ 사용자 정의 태그에 속성 추가 시 고려할 점
· 태그와 의미적으로 연관성이 있거나 부가적인 정보를 제공하는 속성인지 확인
· 태그 없이 단독으로 사용할 수 없기 때문에 태그와 관계가 있는지 확인
· 속성값은 대부분 한 가지 값으로 표현하는 것이 일반적
· 데이터 값의 단위가 여러 개일 경우 속성보다는 태그로 정의
· 속성값이 게속 변경되는 경우라면 속성보다는 태그로 정의
· 속성값은 웹 브라우저에 직접적으로 출력되지 않으므로 직접 출력되어야 하는 경우에는 태그로 정의
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>사용자 정의 요소</title>
</head>
<body>
<company location="서울">한빛아카데미<br>
<department title="영업부 멤버보기">
<a href="#mem1">영업부</a>
</department><br>
<department title="편집부 멤버보기">
<a href="#mem2">편집부</a>
</department>
</company>
<p>-</p><p>-</p>
<p>-</p><p>-</p>
<p>-</p><p>-</p>
<staff id="mem1">영업부 멤버 이름
<hr/>
<member position="과장">박지혜</member>
<member>홍민성</member>
<member hidden="hidden">최미래</member>
</staff>
<hr/>
<p>-</p><p>-</p>
<p>-</p><p>-</p>
<p>-</p><p>-</p>
<staff id="mem2">편집부 멤버 이름
<hr/>
<member position="부장">김서울</member>
<member hidden="hidden">나하늘</member>
<member>홍현성</member>
</staff>
<hr/>
</body>
</html>
