💡 퀵 접속: htm.kr/semantics
시맨틱 태그는 HTML 문서의 구조와 의미를 명확하게 표현하는 태그입니다. header, footer, nav, main, article, section, aside 등의 태그를 사용하여 웹 페이지의 각 영역을 의미있게 구분합니다.
<body>
<header>
<nav>
<ul>
<li><a href="/">홈</a></li>
<li><a href="/about">소개</a></li>
</ul>
</nav>
</header>
<main>
<article>
<h1>제목</h1>
<section>
<h2>섹션 제목</h2>
<p>내용...</p>
</section>
</article>
<aside>
<h2>관련 링크</h2>
<ul>
<li><a href="#">링크 1</a></li>
<li><a href="#">링크 2</a></li>
</ul>
</aside>
</main>
<footer>
<p>© 2024 웹사이트. All rights reserved.</p>
</footer>
</body>
| 태그 | 설명 | 사용 예시 |
|---|---|---|
| header | 페이지나 섹션의 머리말 | <header>로고, 네비게이션</header> |
| footer | 페이지나 섹션의 푸터 | <footer>저작권 정보</footer> |
| nav | 네비게이션 메뉴 | <nav>메뉴 목록</nav> |
| main | 주요 콘텐츠 영역 | <main>본문 내용</main> |
| article | 독립적인 콘텐츠 | <article>블로그 포스트</article> |
| section | 관련 콘텐츠 그룹 | <section>관련 내용</section> |
| aside | 부가적인 콘텐츠 | <aside>사이드바</aside> |
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>블로그</title>
</head>
<body>
<header class="site-header">
<div class="logo">
<h1>블로그 제목</h1>
</div>
<nav class="main-nav">
<ul>
<li><a href="/">홈</a></li>
<li><a href="/posts">글 목록</a></li>
<li><a href="/about">소개</a></li>
</ul>
</nav>
</header>
<main class="content">
<article class="post">
<header class="post-header">
<h2>포스트 제목</h2>
<div class="post-meta">
<time datetime="2024-01-01">2024년 1월 1일</time>
<span class="author">작성자: 홍길동</span>
</div>
</header>
<section class="post-content">
<h3>첫 번째 섹션</h3>
<p>포스트 내용...</p>
</section>
<section class="post-content">
<h3>두 번째 섹션</h3>
<p>추가 내용...</p>
</section>
<footer class="post-footer">
<div class="tags">
<span class="tag">#태그1</span>
<span class="tag">#태그2</span>
</div>
</footer>
</article>
<aside class="sidebar">
<section class="widget">
<h3>최근 글</h3>
<ul>
<li><a href="#">최근 글 1</a></li>
<li><a href="#">최근 글 2</a></li>
</ul>
</section>
<section class="widget">
<h3>카테고리</h3>
<ul>
<li><a href="#">카테고리 1</a></li>
<li><a href="#">카테고리 2</a></li>
</ul>
</section>
</aside>
</main>
<footer class="site-footer">
<div class="footer-content">
<p>© 2024 블로그. All rights reserved.</p>
<nav class="footer-nav">
<ul>
<li><a href="/privacy">개인정보처리방침</a></li>
<li><a href="/terms">이용약관</a></li>
</ul>
</nav>
</div>
</footer>
</body>
</html>
<style>
/* 기본 레이아웃 */
body {
margin: 0;
padding: 0;
min-height: 100vh;
display: flex;
flex-direction: column;
}
/* 헤더 스타일 */
.site-header {
background: #fff;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
padding: 1rem;
}
.main-nav ul {
display: flex;
gap: 1rem;
list-style: none;
padding: 0;
}
/* 메인 콘텐츠 */
.content {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 2rem;
padding: 2rem;
flex: 1;
}
/* 포스트 스타일 */
.post {
background: #fff;
padding: 2rem;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.post-header {
margin-bottom: 2rem;
}
.post-meta {
color: #666;
font-size: 0.9rem;
}
/* 사이드바 스타일 */
.sidebar {
background: #f5f5f5;
padding: 1rem;
border-radius: 8px;
}
.widget {
margin-bottom: 2rem;
}
/* 푸터 스타일 */
.site-footer {
background: #333;
color: #fff;
padding: 2rem;
margin-top: auto;
}
.footer-content {
display: flex;
justify-content: space-between;
align-items: center;
}
.footer-nav ul {
display: flex;
gap: 1rem;
list-style: none;
padding: 0;
}
.footer-nav a {
color: #fff;
text-decoration: none;
}
/* 반응형 스타일 */
@media (max-width: 768px) {
.content {
grid-template-columns: 1fr;
}
.main-nav ul {
flex-direction: column;
}
.footer-content {
flex-direction: column;
text-align: center;
gap: 1rem;
}
}
</style>
시맨틱 태그가 올바르게 사용되었는지 확인하는 방법: