HTML 기본 태그 | 텍스트, 링크, 이미지, 리스트
이 글의 핵심
HTML 기본 태그에 대해 정리한 개발 블로그 글입니다. <p>문단입니다. 자동으로 위아래 여백이 생깁니다.</p> <p>또 다른 문단입니다.</p>
들어가며
HTML 태그는 브라우저와 검색 엔진이 읽을 구조와 의미를 표시합니다. 이후 박스 모델에서 다루듯, 대부분의 요소는 화면에서 상자로 그려집니다.
1. 텍스트 태그
제목 태그
<h1>가장 큰 제목 (페이지당 1개 권장)</h1>
<h2>두 번째 제목</h2>
<h3>세 번째 제목</h3>
<h4>네 번째 제목</h4>
<h5>다섯 번째 제목</h5>
<h6>가장 작은 제목</h6>
중요: <h1>은 페이지당 하나만 사용 (SEO)
문단과 줄바꿈
<p>문단입니다. 자동으로 위아래 여백이 생깁니다.</p>
<p>또 다른 문단입니다.</p>
<!-- 줄바꿈 -->
<p>첫 번째 줄<br>두 번째 줄</p>
<!-- 수평선 -->
<hr>
텍스트 강조
<!-- 굵게 -->
<strong>중요한 내용</strong>
<b>단순히 굵게</b>
<!-- 기울임 -->
<em>강조</em>
<i>단순히 기울임</i>
<!-- 밑줄 -->
<u>밑줄</u>
<!-- 취소선 -->
<s>취소선</s>
<!-- 작은 글씨 -->
<small>작은 텍스트</small>
<!-- 형광펜 효과 -->
<mark>하이라이트</mark>
2. 링크
기본 링크
<!-- 외부 링크 -->
<a href="https://google.com">구글로 이동</a>
<!-- 새 탭에서 열기 -->
<a href="https://google.com" target="_blank">새 탭에서 열기</a>
<!-- 같은 페이지 내 이동 -->
<a href="#section1">섹션 1로 이동</a>
<h2 id="section1">섹션 1</h2>
<!-- 이메일 링크 -->
<a href="mailto:[email protected]">이메일 보내기</a>
<!-- 전화 링크 -->
<a href="tel:010-1234-5678">전화 걸기</a>
링크 스타일링
<style>
a {
color: #3498db;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
</style>
3. 이미지
기본 이미지
<!-- 기본 -->
<img src="image.jpg" alt="이미지 설명">
<!-- 크기 지정 -->
<img src="image.jpg" alt="이미지 설명" width="300" height="200">
<!-- 반응형 이미지 -->
<img src="image.jpg" alt="이미지 설명" style="max-width: 100%; height: auto;">
이미지 링크
<a href="https://example.com">
<img src="logo.png" alt="로고">
</a>
Figure와 Figcaption
<figure>
<img src="photo.jpg" alt="사진">
<figcaption>사진 설명</figcaption>
</figure>
4. 리스트
순서 없는 리스트
<ul>
<li>항목 1</li>
<li>항목 2</li>
<li>항목 3</li>
</ul>
순서 있는 리스트
<ol>
<li>첫 번째</li>
<li>두 번째</li>
<li>세 번째</li>
</ol>
<!-- 시작 번호 지정 -->
<ol start="5">
<li>다섯 번째</li>
<li>여섯 번째</li>
</ol>
중첩 리스트
<ul>
<li>과일
<ul>
<li>사과</li>
<li>바나나</li>
</ul>
</li>
<li>채소
<ul>
<li>당근</li>
<li>브로콜리</li>
</ul>
</li>
</ul>
설명 리스트
<dl>
<dt>HTML</dt>
<dd>웹 페이지의 구조를 만드는 마크업 언어</dd>
<dt>CSS</dt>
<dd>웹 페이지의 스타일을 정의하는 언어</dd>
</dl>
5. 테이블
기본 테이블
<table>
<thead>
<tr>
<th>이름</th>
<th>나이</th>
<th>직업</th>
</tr>
</thead>
<tbody>
<tr>
<td>홍길동</td>
<td>25</td>
<td>개발자</td>
</tr>
<tr>
<td>김철수</td>
<td>30</td>
<td>디자이너</td>
</tr>
</tbody>
</table>
테이블 스타일링
<style>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 12px;
text-align: left;
}
th {
background-color: #4CAF50;
color: white;
}
tr:hover {
background-color: #f5f5f5;
}
</style>
셀 병합
<table>
<tr>
<th colspan="2">이름</th>
<th>나이</th>
</tr>
<tr>
<td>성</td>
<td>이름</td>
<td rowspan="2">25</td>
</tr>
<tr>
<td>홍</td>
<td>길동</td>
</tr>
</table>
6. 시맨틱 태그
문서 구조
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>시맨틱 HTML</title>
</head>
<body>
<!-- 헤더 -->
<header>
<h1>사이트 제목</h1>
<nav>
<ul>
<li><a href="#home">홈</a></li>
<li><a href="#about">소개</a></li>
<li><a href="#contact">연락처</a></li>
</ul>
</nav>
</header>
<!-- 메인 콘텐츠 -->
<main>
<article>
<h2>글 제목</h2>
<p>글 내용...</p>
</article>
<aside>
<h3>관련 링크</h3>
<ul>
<li><a href="#">링크 1</a></li>
<li><a href="#">링크 2</a></li>
</ul>
</aside>
</main>
<!-- 푸터 -->
<footer>
<p>© 2026 회사명</p>
</footer>
</body>
</html>
시맨틱 태그 종류
| 태그 | 의미 |
|---|---|
<header> | 헤더 영역 |
<nav> | 네비게이션 |
<main> | 메인 콘텐츠 |
<article> | 독립적인 콘텐츠 |
<section> | 섹션 |
<aside> | 사이드바 |
<footer> | 푸터 영역 |
7. 폼 요소 (기본)
<form>
<!-- 텍스트 입력 -->
<label for="name">이름:</label>
<input type="text" id="name" name="name">
<!-- 이메일 입력 -->
<label for="email">이메일:</label>
<input type="email" id="email" name="email">
<!-- 비밀번호 입력 -->
<label for="password">비밀번호:</label>
<input type="password" id="password" name="password">
<!-- 버튼 -->
<button type="submit">제출</button>
</form>
8. 실전 예제
예제: 프로필 페이지
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>프로필</title>
<style>
body {
max-width: 800px;
margin: 0 auto;
padding: 20px;
font-family: Arial, sans-serif;
}
.profile-img {
width: 200px;
height: 200px;
border-radius: 50%;
object-fit: cover;
}
.skills {
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.skill-tag {
background: #3498db;
color: white;
padding: 5px 15px;
border-radius: 20px;
}
</style>
</head>
<body>
<header>
<img src="profile.jpg" alt="프로필 사진" class="profile-img">
<h1>홍길동</h1>
<p><em>프론트엔드 개발자</em></p>
</header>
<main>
<section>
<h2>소개</h2>
<p>
안녕하세요! 웹 개발에 열정을 가진
<strong>프론트엔드 개발자</strong>입니다.
</p>
</section>
<section>
<h2>기술 스택</h2>
<div class="skills">
<span class="skill-tag">HTML</span>
<span class="skill-tag">CSS</span>
<span class="skill-tag">JavaScript</span>
<span class="skill-tag">React</span>
</div>
</section>
<section>
<h2>프로젝트</h2>
<ul>
<li>
<a href="#">포트폴리오 웹사이트</a>
<p>개인 포트폴리오 사이트 제작</p>
</li>
<li>
<a href="#">쇼핑몰 프로젝트</a>
<p>React를 활용한 쇼핑몰 구현</p>
</li>
</ul>
</section>
<section>
<h2>연락처</h2>
<ul>
<li>이메일: <a href="mailto:[email protected]">[email protected]</a></li>
<li>GitHub: <a href="https://github.com/hong" target="_blank">github.com/hong</a></li>
<li>블로그: <a href="https://blog.example.com" target="_blank">blog.example.com</a></li>
</ul>
</section>
</main>
<footer>
<hr>
<p><small>© 2026 홍길동. All rights reserved.</small></p>
</footer>
</body>
</html>
정리
핵심 요약
- 텍스트:
<h1>~<h6>,<p>,<strong>,<em> - 링크:
<a href="URL"> - 이미지:
<img src="URL" alt="설명"> - 리스트:
<ul>,<ol>,<li> - 테이블:
<table>,<tr>,<th>,<td> - 시맨틱:
<header>,<nav>,<main>,<footer>
다음 단계
- CSS 선택자와 속성
- CSS 박스 모델
- Flexbox 레이아웃
관련 글
- HTML/CSS 시작하기 | 웹 개발 첫걸음
- JavaScript 시작하기 | 웹 개발의 필수 언어 완벽 입문
- JavaScript DOM 조작 | 웹 페이지 동적으로 제어하기
- Flask 기초 | Python 웹 프레임워크 시작하기
- Django 기초 | Python 풀스택 웹 프레임워크 시작하기