
아래 내용은 HTML 문서의 기본 뼈대(DOCTYPE, html, head, body)를 먼저 정리한 뒤, 실습 예제를 통해 “문서 구조 → 텍스트 태그 → 서식 태그 → 엔티티(특수문자) → div/span” 순으로 한 흐름으로 정리한 글이다.
HTML 문서는 크게 head와 body로 나뉜다.
head: 문서의 메타데이터(설정 정보). 브라우저/검색엔진이 참고하는 영역body: 사용자가 실제로 보는 화면(본문)또한 HTML5 문서임을 명시하기 위해 문서 최상단에 <!DOCTYPE html>을 둔다. (HTML5에서는 사실상 고정 형태이며, 생략 가능한 경우도 있지만 명시하는 습관이 안전하다.)
HTML 문서의 시작은 아래 2줄로 잡는 게 기본이다.
<!DOCTYPE html>: HTML5 문서임을 선언<html lang="ko">: HTML 문서의 루트(root) 요소이며, lang은 문서의 언어를 정의한다. koenlang은 접근성(스크린리더)과 검색엔진 최적화 측면에서 의미가 있다.
head에는 “문서 설명/설정”이 들어간다. 대표적으로 아래 3가지를 자주 쓴다.
<meta charset="UTF-8">
문자인코딩 설정이다. UTF-8을 권장한다.
<meta name="viewport" content="width=device-width, initial-scale=1.0">
모바일 환경에서 화면 너비와 배율을 맞추기 위한 설정이다. 반응형 페이지에서는 거의 필수다.
<title>...</title>
브라우저 탭 제목, 북마크 이름, 검색엔진이 참고하는 제목으로 사용된다.
body에는 사용자가 실제로 보는 콘텐츠(텍스트/이미지/버튼 등)가 들어간다. 이번 예제는 텍스트 출력 중심으로 구성되어 있다.
h 태그는 제목(heading)이다.
h1이 가장 큰 제목, h6이 가장 작은 제목예제에서도 h1, h2를 사용해서 섹션을 구분하고 있다.
p는 paragraph(단락)이다.
HTML에서는 엔터를 눌러도 화면에서 줄바꿈이 되지 않는다.
줄바꿈을 하려면 <br/> 같은 줄바꿈 태그를 명시해야 한다.
<hr/>는 섹션 사이를 시각적으로 구분하기 위한 선이다.
본문 흐름을 끊고 구분선을 넣고 싶을 때 간단하게 쓴다.
HTML에는 “보기(스타일)”만 바꾸는 태그와 “의미(semantic)”까지 담는 태그가 섞여 있다. 실무에서는 의미가 있는 태그를 우선한다.
b: 단순 굵게 표시strong: 굵게 표시 + 의미상 강조(중요함)i: 단순 기울임em: 기울임 + 의미상 강조(강조/강세)u: 밑줄mark: 형광펜 하이라이트del: 삭제(취소선)sub: 아래 첨자sup: 위 첨자예제에서는 각 태그의 렌더링 차이를 문장으로 바로 확인할 수 있도록 구성되어 있다.
HTML에서는 <, > 같은 기호가 태그 문법에 사용되기 때문에 그대로 출력하면 해석 충돌이 생길 수 있다.
이때 엔티티(entity)를 사용해서 안전하게 출력한다.
자주 쓰는 엔티티는 아래와 같다.
: 공백(줄바꿈 없는 공백)<: <>: >&: &": "': '예제는 위 엔티티들을 p 태그로 직접 출력해 확인하게 되어 있다.
div는 블록(block) 요소다.
예제에서는 div에 style을 직접 주어 배경색/패딩/마진을 넣고 “영역”처럼 보이게 했다.
span은 인라인(inline) 요소다.
예제에서는 문장 중간 단어에 span을 적용해 글자 색과 굵기를 바꾸고 있다.