HTML 레이아웃은 웹 페이지에서 각 구성 요소(header, nav, footer 등)가 어떻게 배치되는지를 정의하는 구조를 말합니다. HTML5에서는 웹 페이지의 다양한 영역을 의미 있게 나눌 수 있는 시맨틱(semantic) 요소들을 제공하며, 이를 활용하면 검색 엔진 최적화(SEO)와 접근성 측면에서도 유리한 문서 구조를 만들 수 있습니다.
HTML 레이아웃에 사용되는 시맨틱 요소
다음은 HTML 레이아웃을 구성할 때 주로 사용되는 시맨틱 태그들입니다.
| 태그 | 설명 |
|---|---|
| <header> | 문서 또는 특정 섹션의 머리말(헤더) 영역을 정의합니다. |
| <section> | 문서 내에서 하나의 독립적인 구역(섹션)을 나타냅니다. |
| <nav> | 내비게이션 링크들을 감싸는 컨테이너 역할을 합니다. |
| <article> | 그 자체로 독립적으로 배포 가능한 콘텐츠(기사, 블로그 글 등)를 정의합니다. |
| <aside> | 본문 외적인 부가 콘텐츠(예: 사이드바)를 지정합니다. |
| <footer> | 문서 또는 섹션의 바닥글(푸터) 영역을 정의합니다. |
| <details> | 사용자가 열고 닫을 수 있는 추가 정보 영역을 정의합니다. |
| <summary> | <details> 요소의 제목(요약) 부분을 지정합니다. |
HTML 웹 페이지 레이아웃 기법
HTML로 웹 페이지 레이아웃을 구성할 때 활용할 수 있는 대표적인 기술들은 다음과 같습니다.
- CSS float 속성 — 요소를 좌우로 띄워 배치하는 전통적인 방식
- CSS Flexbox — 1차원 방향으로 요소를 유연하게 정렬하는 모던 레이아웃 기법
- CSS 프레임워크 — Bootstrap 등 미리 만들어진 스타일 시스템 활용
- CSS Grid — 행과 열을 기반으로 하는 2차원 레이아웃 시스템
- HTML 테이블 — 과거에 사용되던 방식으로, 현재는 권장되지 않음
HTML 레이아웃 예제
아래 예제는 header, nav, article, footer 요소와 CSS float 속성을 조합하여 기본적인 웹 페이지 레이아웃을 구현한 코드입니다.
<!DOCTYPE html>
<html>
<style>
* {
box-sizing: border-box;
}
body {
color: #000;
background-color: #8BC6EC;
background-image: linear-gradient(135deg, #8BC6EC 0%, #9599E2 100%);
text-align: center;
}
header {
background-color: #000;
padding: 20px;
text-align: center;
color: white;
}
nav {
float: left;
width: 20%;
height: 200px;
background: #282828;
padding: 60px 10px;
}
nav ul {
list-style-type: none;
padding: 0;
}
nav ul li a {
text-decoration: none;
color: #fff;
}
article {
float: left;
padding: 80px 10px;
width: 80%;
background-color: #fff;
height: 200px;
text-align: center;
}
section:after {
content: "";
display: table;
clear: both;
}
footer {
background-color: #000;
padding: 20px;
text-align: center;
color: white;
}
</style>
<body>
<h1>HTML Layouts Demo</h1>
<header>This is Header</header>
<section>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
<article>This is an article element.</article>
</section>
<footer>This is Footer</footer>
</body>
</html>
실행 결과
위 코드를 실행하면 상단에 검은색 헤더, 왼쪽에 어두운 배경의 내비게이션 메뉴(Home, About, Contact), 오른쪽에 흰색 배경의 아티클 영역, 그리고 하단에 푸터가 배치된 클래식한 웹 페이지 레이아웃이 화면에 출력됩니다. 이처럼 시맨틱 요소와 CSS를 함께 사용하면 구조적이면서도 시각적으로 깔끔한 레이아웃을 손쉽게 만들 수 있습니다.