# HTML
## 기본 구조
| **태그** | **설명** |
|----|----|
| `html` | HTML 문서의 루트 요소로, 모든 콘텐츠를 감싸는 최상위 태그입니다. 다른 모든 요소는 이 요소의 자손이어야 합니다. |
| `head` | 문서의 메타데이터(문서 정보)와 외부 리소스(스타일시트, 스크립트 등)를 포함합니다. |
| `body` | 사용자에게 표시되는 실제 콘텐츠(텍스트, 이미지, 링크 등)를 포함합니다. 문서에는 이러한 요소가 하나만 있을 수 있습니다. |
## 메타 데이터
| **태그** | **설명** |
|----|----|
| `title` | 브라우저 탭에 표시될 문서의 제목을 정의합니다. 텍스트만 포함합니다. 요소 내의 태그는 무시됩니다. |
| `meta` | 문서의 메타데이터(문자 인코딩, 설명, 뷰포트 등)를 제공합니다. |
| `link` | 외부 리소스(예: CSS 파일, 파비콘 등)를 문서에 연결합니다. |
| `style` | 문서 내에 CSS 스타일을 직접 정의합니다. |
| `base` | 문서 내 모든 상대 URL의 기준 경로를 지정합니다. 문서에는 이러한 요소가 하나만 있을 수 있습니다. |
## 섹션
| **태그** | **설명** |
|---|----|
| `h1`~`h6` | 제목을 정의하며, `h1`이 가장 중요하고 `h6`가 덜 중요합니다. |
| `header` | 문서나 섹션의 헤더(제목, 로고, 검색 폼, 작성자 이름, 내비게이션 등)를 정의합니다. |
| `footer` | 가장 가까운 섹션 콘텐츠나 섹션의 푸터(하단 정보, 저작권 등)를 정의합니다. |
| `main` | 문서 `
`의 주요 콘텐츠를 나타냅니다. 한 문서에 하나만 사용됩니다. |
| `article` | 독립적인 콘텐츠(블로그 포스트, 뉴스 기사 등)를 정의합니다. |
| `nav` | 문서의 부분 중 현재 페이지 내, 또는 다른 페이지로의 내비게이션 링크(메뉴, 목차, 색인 등)를 포함하는 섹션을 정의합니다. |
| `aside` | 주요 콘텐츠와 간접적으로 관련된 부수적인 콘텐츠(사이드바 등)를 나타냅니다. |
| `address` | 가까운 HTML 요소의 사람, 단체, 조직 등에 대한 연락처 정보(예: 이메일, 전화번호, 주소)를 나타냅니다. |
| `section` | 문서 내 주제별 섹션(장 또는 구획)을 정의합니다. HTML 문서의 독립적인 구획을 나타내며, 더 적합한 의미를 가진 요소가 없을 때 사용합니다. |
## 텍스트
| **태그** | **설명** |
|---|----|
| `p` | 단락(paragraph)을 정의합니다. 일반 텍스트 콘텐츠에 사용됩니다. |
| `pre` | 미리 서식을 지정한(preformatted) 텍스트를 정의하며, 텍스트는 보통 고정폭 글꼴을 사용해 렌더링하고, 공백과 줄 바꿈을 유지합니다. |
| `div` | 콘텐츠를 묶는 블록 단위 컨테이너로, 스타일링이나 레이아웃에 사용됩니다. CSS를 사용하여 어떤 식으로든 스타일을 지정할 때까지 콘텐츠나 레이아웃에 영향을 미치지 않습니다. |
| `blockquote` | 인용문을 나타내며, 다른 출처에서 가져온 긴 텍스트를 표시합니다. 인용문의 출처 URL은 cite 속성으로, 출처 텍스트는 `` 요소로 제공할 수 있습니다. |
| `hr` | 수평선(horizontal rule)을 삽입하여, 이야기 장면 전환, 구획 내 주제 변경 등 주제나 섹션을 구분합니다. |
| `figure` | 이미지, 다이어그램 등 독립적인 콘텐츠를 그룹화합니다. `` 요소를 사용해 설명을 붙일 수 있습니다. |
| `figcaption` | `figure` 요소 내에서 캡션(설명 혹은 범례)을 제공합니다. |
### 목록
| **태그** | **설명** |
|----|----|
| `ul` | 순서 없는(unordered) 목록을 정의합니다. (기본적으로 글머리 기호 사용) |
| `ol` | 순서 있는(ordered) 목록을 정의합니다. (기본적으로 숫자 사용) |
| `menu` | 명령 메뉴나 콘텍스트 메뉴를 정의합니다. |
| `li` | 목록 항목(list item)을 정의합니다. (`ul`, `ol`, `menu`의 하위 요소) |
| `dl` | 정의 목록(description list)을 정의합니다. `
`은 `
`로 표기한 용어와 `
` 요소로 표기한 설명 그룹의 목록을 감싸서 설명 목록을 생성합니다. 주로 용어사전 구현이나 메타데이터(키-값 쌍 목록)를 표시할 때 사용합니다. |
| `dt` | 정의 목록에서 용어(term)를 정의합니다. `
` 요소 안에 위치해야 합니다. 보통 `
` 요소가 뒤따르지만, 여러 개의 `
` 요소를 연속해 배치하면 바로 다음 `
` 요소로 한꺼번에 서술할 수 있습니다. |
| `dd` | 정의 목록에서 설명(description)을 정의합니다. `