CSS

CSS Tables property

lshjju 2026. 2. 18. 17:55

최신 레이아웃 시스템 이전부터 데이터를 구조화하는 데 사용된 CSS 테이블(Tables) 속성에 대해 알아보겠습니다.

테이블 속성은 표의 가독성을 높이고, 테두리가 겹치는 방식이나 제목의 위치 등을 정교하게 제어하는 데 사용됩니다.


1. caption-side (표 제목 위치)

<caption> 태그로 작성된 표의 제목을 표의 위나 아래 중 어디에 배치할지 결정합니다.

  • top: 표의 윗부분에 제목을 표시합니다. (기본값)
  • bottom: 표의 아랫부분에 제목을 표시합니다.

2. border (테두리)

테이블(<table>), 행(<tr>), 셀(<th>, <td>)에 테두리를 그립니다.

  • 테이블 자체에만 border를 주면 표 전체 외곽선만 생기고, 내부 칸막이를 만들려면 <td>나 <th>에도 각각 테두리를 지정해야 합니다.

3. border-spacing (테두리 간격)

인접한 셀(Cell)의 테두리 사이의 거리를 설정합니다.

  • 이 속성은 뒤에 설명할 border-collapse 속성이 separate일 때만 동작합니다.
  • 값을 두 개 주면 가로 세로 간격을 다르게 설정할 수 있습니다. (예: border-spacing: 10px 20px;)

4. border-collapse (테두리 병합)

테이블의 테두리를 하나로 합칠지, 아니면 각각 떨어뜨려 놓을지 결정하는 가장 중요한 속성입니다.

  • separate: 셀마다 독립된 테두리를 가집니다. (기본값) 이 경우 셀 사이의 간격이 보입니다.
  • collapse: 인접한 테두리를 하나로 합쳐서 깔끔한 실선 형태로 만듭니다. 현대적인 웹 디자인에서 가장 많이 선호되는 방식입니다.

🖥️ 실전 예제 코드

HTML
 
<style>
  table {
    width: 100%;
    /* 1. 테두리를 하나로 합침 */
    border-collapse: collapse; 
    /* 2. 병합하지 않을 경우 간격 설정 (collapse 시 무시됨) */
    /* border-spacing: 10px; */
  }
 
  th, td {
    border: 1px solid #333;
    padding: 10px;
    text-align: center;
  }
 
  /* 3. 제목 위치를 아래로 설정 */
  caption {
    caption-side: bottom;
    padding: 10px;
    font-weight: bold;
  }
</style>
 
<table>
  <caption>2026년 프로젝트 일정표</caption>
  <thead>
    <tr>
      <th>단계</th>
      <th>내용</th>
      <th>기간</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>기획</td>
      <td>요구사항 분석</td>
      <td>2주</td>
    </tr>
    <tr>
      <td>개발</td>
      <td>프론트엔드 구현</td>
      <td>4주</td>
    </tr>
  </tbody>
</table>

📋 테이블 주요 속성 요약표

속성 역할 주요 값
caption-side 표 제목 위치 제어 top, bottom
border-collapse 테두리 병합 여부 collapse, separate
border-spacing 셀 사이의 간격 px, em 등 (separate일 때만)
table-layout 테이블 너비 계산 방식 auto, fixed

학습 정리

  • 깔끔한 표를 만들고 싶다면 **border-collapse: collapse;**를 먼저 선언하는 것이 기본 공식입니다.
  • 테이블은 데이터 표시용으로만 사용하고, 전체 페이지 레이아웃을 잡을 때는 Flex나 Grid를 사용하는 것이 웹 표준에 적합합니다.

표를 멋지게 디자인하는 CSS 테이블 속성을 정복하셨습니다!


'CSS' 카테고리의 다른 글

Types of styes sheet  (0) 2026.02.18
CSS  (0) 2026.02.18
CSS list-style property  (0) 2026.02.18
CSS text style property  (0) 2026.02.18
Web font  (0) 2026.02.18