프로그래밍에서 시맨틱은 코드 조각의 의미를 나타냅니다.
예를 들면,"이 HTML 엘리먼트가 가진 목적이나 역할은 무엇인가?"
HTML5 이전에는 의미를 가진 태그가 부족한 편이었습니다. 레이아웃을 표현하는 태그가 없어 테이블 관련 태그로 레이아웃을 만드는 방식인 테이블 레이아웃이 일반화되어 있었습니다. 이후 <div>
태그가 등장하면서 레이아웃에서 각 영역을 지정했지만, 복잡한 <div>
지옥인 경우가 많아졌습니다. 이는
<div>
는 어디가 어떤 영역인지 파악하기 힘들다.등의 결과를 초래했습니다.
HTML5에서는 시맨틱 웹을 중요시하여 여러가지 태그를 새롭게 만들었습니다. 이러한 태그들을 시맨틱 태그라고 한다.
시맨틱 태그를 사용한 레이아웃은 컴퓨터가 읽어낼 수 있어,
div
들을 탐색하는 것보다, 의미있는 태그를 찾는 것이 훨씬 쉽다.등의 장점을 가집니다.
레이아웃을 구성하는 시맨틱 태그는 어떤 태그들이 있는지 알아봅시다.
<header>
section
이나 article
, aside
등으로 묶어놓은 섹션 안의 헤더 용도로 사용해도 된다.<nav>
<main>
<article>
<section>
<aside>
<footer>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>[페이지 제목]</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>[사이트 제목]</h1>
<h2>[사이트 부제목]</h2>
<nav>
<ul>
<li>[메뉴1]</li>
<li>[메뉴2]</li>
<li>[메뉴3]</li>
</ul>
</nav>
</header>
<main>
<article>
<p>[본문 내용]</p>
</article>
</main>
<aside>
[사이드바 내용]
</aside>
<footer>
<address>[주소 내용]</address>
</footer>
</body>
</html>
<header>, <nav>, <main>, <section>, <aside>, <article>, <footer>, <figure>
<video>, <audio>
<canvas>, <svg>
<div>
남발은 금지!