본문 바로가기
명함 만들기 캐릭터 모음 16가지 디자인 · PNG / SVG / PDF

표

줄마다 같은 항목을 견주어 봐야 하고, 독자가 자기 기준으로 다시 줄 세워야 할 때 쓰는 조각.

정보 표시

실제 미리보기

출처

<div class="dc-table-wrap">
  <table class="dc-table">
    <caption class="dc-table__caption">협력업체 청구 내역 <span class="dc-table__count">4건</span></caption>
    <thead>
      <tr>
        <th class="dc-table__th" scope="col" aria-sort="ascending"><button class="dc-table__sort" type="button">업체명<span class="dc-table__arrow" aria-hidden="true">▲</span></button></th>
        <th class="dc-table__th" scope="col" aria-sort="none"><button class="dc-table__sort" type="button">상태<span class="dc-table__arrow" aria-hidden="true">▲</span></button></th>
        <th class="dc-table__th dc-table__th--num" scope="col" aria-sort="none"><button class="dc-table__sort" type="button">청구금액<span class="dc-table__arrow" aria-hidden="true">▲</span></button></th>
        <th class="dc-table__th" scope="col" aria-sort="none"><button class="dc-table__sort" type="button">청구일<span class="dc-table__arrow" aria-hidden="true">▲</span></button></th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <th class="dc-table__rowhead" scope="row">금성안전</th>
        <td class="dc-table__td">승인</td>
        <td class="dc-table__td dc-table__td--num">7,905,000</td>
        <td class="dc-table__td">2026-03-09</td>
      </tr>
      <tr>
        <th class="dc-table__rowhead" scope="row">대림전기</th>
        <td class="dc-table__td">승인</td>
        <td class="dc-table__td dc-table__td--num">1,240,000</td>
        <td class="dc-table__td">2026-03-02</td>
      </tr>
      <tr>
        <th class="dc-table__rowhead" scope="row">서진토건</th>
        <td class="dc-table__td">검토 중</td>
        <td class="dc-table__td dc-table__td--num">860,500</td>
        <td class="dc-table__td">2026-03-04</td>
      </tr>
      <tr>
        <th class="dc-table__rowhead" scope="row">한울설비</th>
        <td class="dc-table__td">반려</td>
        <td class="dc-table__td dc-table__td--num">312,000</td>
        <td class="dc-table__td">2026-03-05</td>
      </tr>
    </tbody>
  </table>
</div>
.dc-table-wrap { overflow-x: auto; max-width: 100%; }
.dc-table {
  width: 100%; border-collapse: collapse;
  font-family: var(--dc-font); font-size: 13px;
  color: var(--dc-text);
}
.dc-table__caption {
  padding-bottom: var(--dc-2);
  text-align: left; font-size: 14px; font-weight: 700; color: var(--dc-text);
}
.dc-table__count { font-weight: 400; color: var(--dc-text-mute); }
.dc-table__th {
  padding: 0; background: var(--dc-sunken);
  border-bottom: 1px solid var(--dc-line-bold);
  text-align: left; white-space: nowrap;
  font-size: 12px; color: var(--dc-text-sub);
}
.dc-table__sort {
  display: flex; align-items: center; gap: var(--dc-1);
  width: 100%; min-height: 40px;
  padding: var(--dc-2) var(--dc-3);
  border: 0; background: transparent; color: inherit;
  font: inherit; font-weight: 700; text-align: left;
  cursor: pointer;
}
.dc-table__sort:hover { color: var(--dc-text); background: color-mix(in srgb, var(--dc-brand) 8%, transparent); }
.dc-table__th--num .dc-table__sort { justify-content: flex-end; }
.dc-table__arrow { font-size: 9px; color: var(--dc-text-mute); }
.dc-table__th[aria-sort="none"] .dc-table__arrow { opacity: 0; }
.dc-table__th:hover .dc-table__arrow,
.dc-table__sort:focus-visible .dc-table__arrow { opacity: 1; }
.dc-table__th[aria-sort="ascending"] .dc-table__arrow,
.dc-table__th[aria-sort="descending"] .dc-table__arrow { color: var(--dc-brand-text); }
.dc-table__th[aria-sort="descending"] .dc-table__arrow { transform: rotate(180deg); }
.dc-table__rowhead,
.dc-table__td {
  padding: var(--dc-3);
  border-bottom: 1px solid var(--dc-line);
  text-align: left; vertical-align: top;
}
.dc-table__rowhead { font-weight: 700; white-space: nowrap; }
.dc-table__td { color: var(--dc-text-sub); }
.dc-table__td--num {
  text-align: right; color: var(--dc-text);
  font-variant-numeric: tabular-nums;
}
.dc-table tbody tr:hover .dc-table__rowhead,
.dc-table tbody tr:hover .dc-table__td { background: var(--dc-sunken); }
.dc-table--compact .dc-table__rowhead,
.dc-table--compact .dc-table__td { padding: var(--dc-2) var(--dc-3); }
.dc-table--compact .dc-table__sort { min-height: 32px; }
.dc-table__empty {
  padding: var(--dc-8) var(--dc-3);
  border-bottom: 1px solid var(--dc-line);
  text-align: center; color: var(--dc-text-sub); line-height: 1.7;
}

이렇게 씁니다

  • 정렬 버튼은 머리칸 안에 두고 현재 기준을 aria-sort 로 알린다
  • 숫자 칸은 오른쪽으로 붙이고 tabular-nums 로 자릿수를 맞춘다
  • 줄의 이름이 되는 첫 칸은 th scope="row" 로 둔다
  • 좁은 화면에서는 칸을 빼지 말고 가로로 스크롤하게 둔다

주의할 점

  • 화살표만 바꾸지 마라 — aria-sort 가 없으면 무엇으로 정렬됐는지 들리지 않는다
  • caption 을 지우지 마라. 이 표가 무엇의 목록인지 먼저 읽혀야 한다

다음에 볼 것