웹문서에서 자료를 정리할때 자주 사용하는 요소가 '표(talbe)' 입니다.
표는 행(row)과 열(column)로 이루어져 있고, 행과 열이 만나 이루는 영역을 셀(cell) 이라고 부릅니다.
기본적인 구조는 아래와 같습니다.
<table>
<tr>
<th>제목셀</th>
<td>내용셀</td>
</tr>
<tr>
<th>제목셀</th>
<td>내용셀</td>
</tr>
</table>
기본적으로 제목에 해당하는 부분에 <th>
태그를 사용합니다.
<th>
는 굵게 표시되고 셀의 중앙에 위치하게 됩니다.
제목셀 | 내용셀 |
---|---|
제목셀 | 내용셀 |
행의 셀을 합칠때는 colspan
속성을 사용합니다. 원하는 갯수만큼 지정하면 됩니다.
<table>
<tr>
<td>내용셀</td>
<td>내용셀</td>
<td>내용셀</td>
</tr>
<tr>
<td colspan="2">내용셀</td>
<td>내용셀</td>
</tr>
<tr>
<td>내용셀</td>
<td>내용셀</td>
<td>내용셀</td>
</tr>
</table>
내용셀 | 내용셀 | 내용셀 |
내용셀 | 내용셀 | |
내용셀 | 내용셀 | 내용셀 |
열을 합칠때는 rowspan
속성을 사용합니다. 마찬가지로 원하는 갯수만큼 숫자로 지정하면 됩니다.
<table>
<tr>
<td>내용셀</td>
<td>내용셀</td>
<td>내용셀</td>
</tr>
<tr>
<td rowspan="2">내용셀</td>
<td>내용셀</td>
<td>내용셀</td>
</tr>
<tr>
<td>내용셀</td>
<td>내용셀</td>
</tr>
</table>
내용셀 | 내용셀 | 내용셀 |
내용셀 | 내용셀 | 내용셀 |
내용셀 | 내용셀 |
표에 제목을 붙일때는 <caption>
태그를 사용합니다.
<caption>
태그를 사용한 표 제목은 표의 중앙에 표시되고, <caption>
안에 다른 태그를 사용하여 여러줄로도 표시할 수 있습니다.
<table>
<caption>표의 제목을 넣는 태그</caption>
<tr>
<th>제목셀</th>
<td>내용셀</td>
</tr>
<tr>
<th>제목셀</th>
<td>내용셀</td>
</tr>
</table>
일부 표에서는 표의 머리부분, 몸부분, 다리부분이 각각 나뉘어서 보여질때가 있습니다.
이때 해당하는 태그가 머리부분 <thead>
, 몸부분 <tbody>
, 다리부분 <tfoot>
입니다.
html4에서는
<tfoot>
이<tbody>
다음에 쓰면 오류가 납니다. html5 에서는<tbody>
전.후 아무곳에 써도 상관없습니다.
<table>
<thead>
<tr>
<th>제목1</th>
<th>제목2</th>
<th>제목3</th>
</tr>
</thead>
<tfoot>
<tr>
<td>표하단1</td>
<td>표하단2</td>
<td>표하단3</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>내용셀</td>
<td>내용셀</td>
<td>내용셀</td>
</tr>
<tr>
<td>내용셀</td>
<td>내용셀</td>
<td>내용셀</td>
</tr>
</tbody>
</table>
제목1 | 제목2 | 제목3 |
---|---|---|
표하단1 | 표하단2 | 표하단3 |
내용셀 | 내용셀 | 내용셀 |
내용셀 | 내용셀 | 내용셀 |
하나의 열에 스타일을 지정하거나 열(column)을 몇 개씩 묶어 스타일을 지정할 수 있습니다.
<col>
태그는 한 열에 있는 모든 셀에 같은 스타일을 적용 할 때 사용하는 것으로 닫는 태그가 없습니다.
<colgroup>
태그를 사용해서 여러 열을 묶어 스타일을 적용할 수 있는데 <colgroup>
태그안에 묶는 열의 개수만큼 col
태그를 넣어야 합니다.
이때 주의점은 <col>
태그와 <colgroup>
태그는 <caption>
태그뒤와 <tr>
태그전에 사용되어야 합니다.
<table>
<caption>표제목</caption>
<colgroup>
<col style="background:#ddd;">
<col>
</colgroup>
<tbody>
<tr>
<td>내용1</td>
<td>내용2</td>
</tr>
<tr>
<td>내용1</td>
<td>내용2</td>
</tr>
</tbody>
</table>
내용1 | 내용2 |
내용1 | 내용2 |