반응형
HTML의 table 요소는 데이터를 행과 열로 정리해서 표시하는 데 사용됩니다. 데이터 시각화, 보고서, 통계 정보 등을 효율적으로 표현할 수 있어 웹 개발에서 자주 활용됩니다. 이번 글에서는 table 요소의 구조와 다양한 예제를 상세하게 설명합니다.
1. HTML table의 기본 구조
HTML에서 table 요소를 구성하는 주요 태그는 다음과 같습니다:
- <table>: 테이블의 시작과 끝을 정의합니다.
- <tr>: 테이블의 행(Row)을 정의합니다.
- <th>: 테이블의 헤더 셀(Header Cell)을 정의합니다.
- <td>: 테이블의 데이터 셀(Data Cell)을 정의합니다.
기본 테이블 예제
<table>
<tr>
<th>이름</th>
<th>나이</th>
<th>직업</th>
</tr>
<tr>
<td>김철수</td>
<td>30</td>
<td>개발자</td>
</tr>
<tr>
<td>이영희</td>
<td>28</td>
<td>디자이너</td>
</tr>
</table>
출력 결과는 다음과 같이 나타납니다:
이름 나이 직업
김철수 | 30 | 개발자 |
이영희 | 28 | 디자이너 |
2. table 스타일링
기본 HTML 테이블은 스타일이 적용되지 않아 투박해 보입니다. CSS를 사용해 테이블에 디자인을 추가할 수 있습니다.
예제: 테이블 스타일링
<table class="styled-table">
<tr>
<th>이름</th>
<th>나이</th>
<th>직업</th>
</tr>
<tr>
<td>김철수</td>
<td>30</td>
<td>개발자</td>
</tr>
<tr>
<td>이영희</td>
<td>28</td>
<td>디자이너</td>
</tr>
</table>
.styled-table {
border-collapse: collapse;
margin: 25px 0;
font-size: 18px;
text-align: left;
width: 100%;
border: 1px solid #ddd;
}
.styled-table th, .styled-table td {
border: 1px solid #ddd;
padding: 8px;
}
.styled-table th {
background-color: #f4f4f4;
}
.styled-table tr:nth-child(even) {
background-color: #f9f9f9;
}
결과
이름 나이 직업
김철수 | 30 | 개발자 |
이영희 | 28 | 디자이너 |
3. 테이블 병합
테이블에서 셀 병합은 다음과 같이 구현됩니다:
- rowspan: 셀을 행(Row) 방향으로 병합합니다.
- colspan: 셀을 열(Column) 방향으로 병합합니다.
예제: 셀 병합
<table border="1">
<tr>
<th rowspan="2">이름</th>
<th colspan="2">연락처</th>
</tr>
<tr>
<th>전화번호</th>
<th>이메일</th>
</tr>
<tr>
<td>김철수</td>
<td>010-1234-5678</td>
<td>chulsoo@example.com</td>
</tr>
<tr>
<td>이영희</td>
<td>010-9876-5432</td>
<td>younghee@example.com</td>
</tr>
</table>
결과
이름 전화번호 이메일
김철수 | 010-1234-5678 | chulsoo@example.com |
이영희 | 010-9876-5432 | younghee@example.com |
4. 테이블 헤더와 풋터
테이블은 다음과 같은 섹션으로 구분할 수 있습니다:
- <thead>: 테이블의 헤더 부분
- <tbody>: 테이블의 본문 데이터
- <tfoot>: 테이블의 요약 또는 풋터
예제: 헤더와 풋터 사용
<table border="1">
<thead>
<tr>
<th>상품명</th>
<th>수량</th>
<th>가격</th>
</tr>
</thead>
<tbody>
<tr>
<td>노트북</td>
<td>2</td>
<td>1,500,000원</td>
</tr>
<tr>
<td>키보드</td>
<td>1</td>
<td>50,000원</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2">합계</td>
<td>1,550,000원</td>
</tr>
</tfoot>
</table>
결과
상품명 수량 가격
노트북 | 2 | 1,500,000원 |
키보드 | 1 | 50,000원 |
합계 | 1,550,000원 |
5. 반응형 테이블
작은 화면에서도 테이블이 잘 보이도록 반응형 스타일을 추가할 수 있습니다.
예제: 반응형 테이블
<div class="table-container">
<table border="1">
<thead>
<tr>
<th>이름</th>
<th>나이</th>
<th>직업</th>
</tr>
</thead>
<tbody>
<tr>
<td>김철수</td>
<td>30</td>
<td>개발자</td>
</tr>
<tr>
<td>이영희</td>
<td>28</td>
<td>디자이너</td>
</tr>
</tbody>
</table>
</div>
.table-container {
overflow-x: auto;
}
table {
width: 100%;
border-collapse: collapse;
}
th, td {
padding: 10px;
text-align: left;
border: 1px solid #ddd;
}
작은 화면에서는 overflow-x 속성을 사용해 테이블을 스크롤 가능하게 만듭니다.
6. 다중 스타일 테이블
예제: 대화형 테이블
<table class="interactive-table">
<thead>
<tr>
<th>번호</th>
<th>제목</th>
<th>작성자</th>
<th>날짜</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>반응형 웹 개발</td>
<td>김철수</td>
<td>2024-12-01</td>
</tr>
<tr>
<td>2</td>
<td>HTML 기본</td>
<td>이영희</td>
<td>2024-12-02</td>
</tr>
</tbody>
</table>
.interactive-table {
width: 100%;
border-collapse: collapse;
font-size: 16px;
}
.interactive-table th, .interactive-table td {
border: 1px solid #ddd;
padding: 10px;
}
.interactive-table tr:hover {
background-color: #f1f1f1;
}
.interactive-table th {
background-color: #4CAF50;
color: white;
}
결과
번호 제목 작성자 날짜
1 | 반응형 웹 개발 | 김철수 | 2024-12-01 |
2 | HTML 기본 | 이영희 | 2024-12-02 |
7. 결론
HTML 테이블은 단순한 데이터 표시뿐 아니라 다양한 기능과 디자인을 적용해 풍부한 사용자 경험을 제공합니다. 이번 글에서는 기본적인 사용법부터 반응형 디자인, 셀 병합, 스타일링까지 여러 활용법을 다루었습니다. 이 예제들을 참고하여 여러분의 웹 프로젝트에서 테이블을 효과적으로 사용해 보세요.
반응형
'개발 > HTML' 카테고리의 다른 글
HTML5 canvas 태그: 모든 것을 담을 수 있는 도화지 (0) | 2025.01.11 |
---|---|
HTML 태그의 다양한 종류와 활용법 (0) | 2025.01.11 |
윗첨자(SUP), 아래첨자(SUB) 넣기 (0) | 2019.02.15 |
placeholder - input 태그나 textarea 태그에 예시글 표시하기 (0) | 2018.11.28 |
pre Tag, xmp Tag 사용 (0) | 2018.11.14 |