HTML의 태그와 전역속성
자세한 정보(속성, 예시 등)는 MDN 또는 W3Schools 문서를 참조
주요 범위
<!DOCTYPE>
- 문서의 HTML버전을 지정(default: HTML5)
<html>
- HTML 문서의 전체 범위를 지정
<head>
- 문서의 정보(보이지 않는 정보)를 설정
- 웹 브라우저가 해석해야 할 웹 페이지의 메타데이터를 작성
<body>
- 문서의 구조를 설정
메타데이터
<title>
- 브라우저의 제목 표시줄이나 페이지 탭에서 보여지는 문서의 제목을 설정
<base/>
- 문서에 포함된 모든 상대 URL들의 기준 URL을 설정
- 한 문서에 하나의 <base/> 요소만 포함 가능.
<link/>
- 외부 리소스의 연결 및 현재 문서와의 관계를 명시 (HTML, CSS, Icon 등 가져오기)
<meta/>
- 기타 메타데이터 요소로 나타낼 수 없는 메타데이터를 나타내기 위해 설정
- 검색엔진이나 브라우저에 정보 제공
<style>
- 스타일 정보(CSS)를 설정
컨텐트 구분
<h1>, <h2>, <h3>, <h4>, <h5>, <h6>
- 문서의 정보 계층을 구조화(Heading, 문서나 구분된 영역의 제목을 설정, 문서의 목차)
- 숫자가 낮을수록 높은 단계(중요한)의 제목
<header>
- 문서의 헤더를 설정(로고, 제목, 검색 등)
<footer>
- 문서의 푸터를 설정(작성자, 저작권, 관련 문서 등)
< main>
- 문서의 주요 컨텐트를 설정(IE 지원 불가)
- 한 문서에 하나의 <main> 요소만 포함 가능
<article>
- 독립적으로 구분되거나 재사용 가능한 영역을 설정(매거진/신문 기사 블로그 등)
- 일반적으로 <h1> ~ <h6>를 포함하여 식별
- 작성일자와 시간을 <time>의 datetime 속성으로 설정
<section>
- 문서의 일반적인 영역을 설정
- 일반적으로 <h1> ~ <h6>를 포함하여 식별
<aside>
- 문서의 별도 컨텐트를 설정(주로 광고, 기타 링크 등의 사이드바를 설정)
<nav>
- Navigation
- 다른 페이지 링크를 제공하는 영역을 설정(보통 메뉴(Home, About, Contact), 목차, 색인 등을 설정)
<address>
- <body>, <article>, <footer> 등에서 연락처 정보를 제공하기 위해 포함하여 사용
<div>
- Division
- 본질적으로 아무것도 나타내지 않는 컨텐트 영역을 설정
문자 컨텐트
<ol>, <ul>, <li>
- Ordered List, Unordered List, List Item
- 각 항목의 정렬된 목록(ol)이나 정렬되지 않은 목록(ul)을 설정
- 순서가 필요(ol)하거나 순서가 필요하지 않은 목록(ul)을 정의
- <ol>과 <ul>은 자식으로 <li>만 포함 가능
- <li>는 단독으로 사용할 수 없고, <ol>이나 <ul>에 자식으로 포함되어야 함
- <li>의 display 속성은 list-item
<dl>, <dt>, <dd>
- Description List, Definition Term, Definition Details
- 용어(<dt>)와 정의(<dd>) 쌍들의 영역(<dl>)을 설정.
- <dl>은 <dd>, <dt>만을 포함해야 함
- 키(key)/값(value) 형태를 표시할 때 유용
<p>
- Paragraph
- 하나의 문단을 설정
- 일반적으로 정보통신보조기기 등은 다음 문단(<p>)으로 넘어갈 수 있는 단축키를 제공함
<hr/>
- Horizontal Rule
- 문단의 분리(주제에 의한)를 위해 설정
- 대부분의 경우 수평선(border)으로 표시되나 의미적 관점으로만 사용해야 함
<pre>
- Preformatted Text
- 서식이 미리 지정된 텍스트를 설정
- 텍스트의 공백과 줄바꿈을 유지하여 표시할 수 있음
- 기본적으로 Monospace 글꼴 계열로 표시 됨
<blockquote>
- Block Quotation
- 일반적인 인용문을 설정
인라인 텍스트
<a>
- Anchor
- 다른 페이지, 같은 페이지 위치(#, 해시태그), 파일, 이메일 주소, 전화번호 등 다른 URL로 연결할 수 있는 하이퍼링크를 설정
<abbr>
- Abbreviation
- 약어를 지정(보통 title속성을 사용하여 전체 글자나 설명을 제공)
<b>
- 문체가 다른 글자의 범위를 설정(Bring Attention)
- 특별한 의미를 가지지 않고, 읽기 흐름에 도움을 주는 용도로 사용
- 다른 태그가 적합하지 않은 경우 마지막 수단으로 사용
- 기본적으로 글자가 두껍게(Bold) 표시 됨
<mark>
- 사용자의 관심을 끌기 위해 하이라이팅 할 때 사용
- 기본적으로 형광펜을 사용한 것처럼(Mark Text) 글자 배경이 노란색으로 표시
<em>
- 단순한 의미 강조를 표시(Emphasis)
- 중첩이 가능, 중첩이 될 수록 강조 의미가 강해짐
- 기본적으로 이탤릭체(Italic type)로 표시됨
<strong>
- 의미의 중요성을 나타내기 위해 사용
- 기본적으로 글자가 두껍게(Bold) 표시됨
<cite>
- 창작물에 대한 참조를 설정(책, 논문, 영화 , TV프로그램, 노래 게임 등의 제목)
- 기본적으로 이탤릭체(Italic type)로 표시됨
<dfn>
- 용어를 정의할 때 사용(Definition)
<i>
- <em>, <strong>, <mark>, <cite>, <dfn> 등에서 표현할 수 있는 적합한 의미가 아닌 경우 사용
- 평범한 글자와 구분(아이콘이나 특수기호 같은)하기 위해 사용
- 기본적으로 이탤릭체(Italic type)로 표시됨
<q>
- 짧은 인용문을 설정
- 긴 인용문을 설정할 경우 <blockquote>를 사용
<u>
- 밑줄이 있는 글자를 설정(Underline)
- 순수하게 꾸미는 용도의 요소로 사용
<span style="text-decoration: underline;">
을 활용할 수 있을 경우에는 사용을 권장하지 않음
<code>
- 컴퓨터 코드 범위를 설정
- 기본적으로 고정폭(Monospace) 글꼴 계열로 표시됨
<kbd>
- 텍스트 입력 장치(키보드)에서 사용자 입력을 나타내는 텍스트 범위를 설정
<sup>, <sub>
- 위 첨자(<sup>)와 아래 첨자(<sub>)를 설정
<time>
- 날짜나 시간을 나타내기 위한 목적으로 사용
<span>
- 본질적으로 아무것도 나타내지 않는 컨텐트 영역을 설정
<br/>
- 줄바꿈을 설정
수정
<del>
- 삭제된(변경된) 텍스트의 범위를 지정
<ins>
- 새로 추가된(변경된) 텍스트의 범위를 지정
멀티미디어
<img/>
- 이미지를 삽입
<audio>
- 소리 컨텐트(MP3)를 삽입
<video>
- 동영상 컨텐트(MP4)를 삽입
<figure>, <figcaption>
- <figure>는 이미지나 삽화, 도표 등의 영역을 설정
- <figcaption>은 <figure>에 포함되어 이미지나 삽화 등의 설명을 표시
내장 컨텐트
<iframe>
- 다른 HTML 페이지를 현재 페이지에 삽입
- 중첩된 브라우저 컨텍스트(프레임)를 표시
<canvas>
- Canvas API나 WebGL API를 사용하여 그래픽이나 애니메이션을 랜더링
스크립트
<script>
- 스크립트 코드를 문서에 포함하거나 참조(외부 스크립트)
<noscirpt>
- 스크립트를 지원하지 않는 경우에 삽입할 HTML을 정의
표 컨텐트
<table>, <tr>, <th>, <td>
- 데이터 표(table)의 행(줄 / tr)과 열(칸, 셀(Cell) / th, td)을 생성
- Table Row, Table Header, Table Data
<caption>
- 표의 제목을 설정
- 열리는 TABLE 태그 바로 다음에 작성해야 함
- Table당 하나의 caption만 사용 가능
<colgroup>, <col/>
- 표의 열들을 공통적으로 정의하는 컬럼(col)과 그의 집합(colgroup)
<thead>, <tbody>, <tfoot>
- 표의 머리글(thead), 본문(tbody), 바닥글(tfoot)을 지정
- 기본적으로 테이블의 레이아웃에 영향을 주지 않음
양식
<form>
- 웹 서버에 정보를 제출하기 위한 양식 범위를 정의
- <form>이 다른 <form>을 자식요소로 포함할 수 없음
<input/>
- 사용자에게 입력 받을 데이터 양식
<label>
- 라벨 가능 요소(labelable)의 제목(caption)
- for 속성으로 라벨 가능 요소를 참조하거나 컨텐트로 포함
<button>
- 선택 가능한 버튼을 지정
<textarea>
- 여러 줄의 일반 텍스트 양식
<fieldset>, <legend>
- 같은 목적의 양식을 그룹화(<fieldset>)하여 제목(<legend>)을 지정
<select>, <datalist>, <optgroup>, <option>
- 옵션(<option>, <optgroup>)의 선택 메뉴(<select>)나 자동완성(<datalist>)을 제공
<progress>
- 작업의 완료 진행률을 표시
전역 속성(Global Attributes)
: 모든 HTML 요소에서 공통적으로 사용 가능한 속성
class
- 공백으로 구분된 요소의 별칭을 지정
- CSS 혹은 JavaScript의 요소 선택기를 통해서 요소를 선택하거나 접근
id
- 문서에서 고유한 식별자를 정의
- CSS 혹은 JavaScript의 요소 선택기를 통해서 요소를 선택하거나 접근
title
- 요소의 정보(설명)을 지정
lang
- 요소의 언어(ISO 639-1)를 지정
data-*
- 사용자 정의 데이터 속성을 지정
- HTML에 JavaScript에서 이용할 수 있는 데이터(정보)를 저장하는 용도로 사용
draggable
- 요소가 Drag and Drop API를 사용 가능한지 여부를 지정
hidden
- 요소를 숨김
tabindex
- Tab키를 이용해 요소를 순차적으로 포커스 탐색할 순서를 지정
참조사이트
https://developer.mozilla.org/ko/docs/Web/HTML
https://heropy.blog/2019/05/26/html-elements/
https://www.w3schools.com/tags/
📝 사실은 내가 보려고 기록한 것 😊
피드백 댓글, 메일은 언제나 환영합니다!
댓글남기기