즐거운 우리집

HTML Table 코딩 본문

코딩/HTML

HTML Table 코딩

웃자땡글아 2024. 12. 11. 15:33
반응형

HTML의 `<table>` 요소는 데이터를 행과 열로 정리된 표 형태로 표현할 때 사용됩니다. 다음은 HTML 테이블의 주요 태그와 속성, 그리고 사용법을 정리한 내용입니다.

목차

1. HTML 테이블 기본 구조

2. 주요 태그

3. 테이블 속성

4. CSS 스타일 적용

5. 병합 기능

6. 반응형 테이블

7. 접근성 고려

8. 예제: 복합 테이블

 

HTML 테이블 기본 구조

<table>
  <thead>
    <tr>
      <th>헤더 1</th>
      <th>헤더 2</th>
      <th>헤더 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>데이터 1</td>
      <td>데이터 2</td>
      <td>데이터 3</td>
    </tr>
    <tr>
      <td>데이터 4</td>
      <td>데이터 5</td>
      <td>데이터 6</td>
    </tr>
  </tbody>
</table>

주요 태그

1. <table>
- 테이블 전체를 정의하는 태그입니다.

2. <thead>
- 테이블의 머리 부분(헤더)을 정의합니다.
- <th> 요소와 함께 사용합니다.

3. <tbody>
- 테이블의 본문 데이터를 감쌉니다. 데이터는 <tr>과 <td>로 구성됩니다.

4. <tfoot>
- 테이블의 하단 부분(풋터)을 정의합니다. 합계나 요약 정보를 넣는 데 사용합니다.

5. <tr> (Table Row)
- 테이블의 한 행을 정의합니다.

6. <th> (Table Header)
- 테이블의 열 제목(헤더)을 정의합니다. 기본적으로 텍스트가 굵고 가운데 정렬됩니다.

7. <td> (Table Data)
- 테이블의 데이터를 정의합니다.

테이블 속성

1. border
테두리 두께를 설정합니다.

<table border="1">

2. cellpadding & cellspacing
- cellpadding: 셀 내부 여백
- cellspacing: 셀 간격
(HTML5에서는 사용되지 않으며 CSS로 대체)

3. width & height
테이블의 너비와 높이를 설정합니다.

<table width="100%" height="200px">

4. align (HTML5에서는 CSS로 대체)
테이블 위치를 조정합니다. (`left`, `center`, `right`)

CSS 스타일 적용

테이블의 디자인을 개선하려면 CSS를 활용합니다.

<style>
  table {
    border-collapse: collapse; /* 중복 테두리 제거 */
    width: 100%;
  }
  th, td {
    border: 1px solid #ddd; /* 셀 테두리 */
    padding: 8px;           /* 셀 내부 여백 */
    text-align: center;     /* 텍스트 정렬 */
  }
  th {
    background-color: #f4f4f4; /* 헤더 배경색 */
    font-weight: bold;
  }
  tr:nth-child(even) {
    background-color: #f9f9f9; /* 짝수 행 배경색 */
  }
</style>

병합 기능

1. colspan (열 병합)
- 하나의 셀이 여러 열을 차지하도록 설정합니다.

<td colspan="2">병합된 셀</td>

2. rowspan (행 병합)
- 하나의 셀이 여러 행을 차지하도록 설정합니다.

<td rowspan="3">병합된 셀</td>

반응형 테이블

반응형 테이블은 CSS로 스크롤이나 유연한 너비를 설정하여 구현할 수 있습니다.

<style>
  .table-container {
    overflow-x: auto; /* 가로 스크롤 */
  }
  table {
    width: 100%;
    border-collapse: collapse;
  }
</style>

<div class="table-container">
  <table>
    <thead>
      <tr>
        <th>헤더 1</th>
        <th>헤더 2</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>내용 1</td>
        <td>내용 2</td>
      </tr>
    </tbody>
  </table>
</div>

접근성 고려

1. caption
테이블에 제목을 추가합니다.

<table>
  <caption>2024년 판매 보고서</caption>
</table>

2. scope
헤더의 적용 범위를 명시합니다.

<th scope="col">열 헤더</th>
<th scope="row">행 헤더</th>

3. ARIA 속성
시각 장애인을 위한 접근성을 개선합니다.

예제: 복합 테이블

<table>
  <caption>수업 시간표</caption>
  <thead>
    <tr>
      <th>시간</th>
      <th>월요일</th>
      <th>화요일</th>
      <th>수요일</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>9:00-10:00</td>
      <td>수학</td>
      <td rowspan="2">과학</td>
      <td>영어</td>
    </tr>
    <tr>
      <td>10:00-11:00</td>
      <td>체육</td>
      <td>음악</td>
    </tr>
  </tbody>
</table>

이렇게 하면 테이블 코딩의 핵심을 이해하고 다양한 스타일과 기능을 적용할 수 있습니다.

반응형