Table

Table

데이터를 행·열 구조로 표시하는 테이블 컴포넌트입니다.

기본

table_wrap으로 가로 스크롤을 지원합니다. columns로 열별 너비·패딩을 지정할 수 있습니다.

이름역할상태
홍길동프론트엔드Active
김철수백엔드Active
이영희디자이너Away

줄무늬

striped로 짝수 행에 배경색을 적용합니다.

제품가격재고
노트북1,200,000원24
키보드89,000원156
마우스45,000원89
모니터350,000원12

테두리

bordered로 모든 셀에 테두리를 적용합니다.

ID항목수량
001사과10
002바나나25
003오렌지8

컴팩트

compact로 셀 패딩을 줄여 밀도를 높입니다.

제품가격재고
노트북1,200,000원24
키보드89,000원156
마우스45,000원89
모니터350,000원12

호버

hover로 행에 마우스를 올리면 배경이 강조됩니다.

이름역할상태
홍길동프론트엔드Active
김철수백엔드Active
이영희디자이너Away

조합

bordered · compact · hover를 함께 조합할 수 있습니다.

ID항목수량
001사과10
002바나나25
003오렌지8

상단 고정

scroll + stickyTop으로 헤더를 상단에 고정합니다. scrollMaxHeight로 스크롤 영역 높이를 조절합니다.

이름부서직급상태
홍길동프론트엔드시니어Active
김철수백엔드리드Active
이영희디자인시니어Away
박민수QA주니어Active
최지우프론트엔드주니어Active
정수연백엔드시니어Busy
한도윤인프라리드Active
오세린디자인주니어Active

좌측 고정

stickyLeft + stickyCols로 첫 열을 좌측에 고정합니다. 가로로 스크롤해 보세요.

이름1월2월3월4월5월6월
홍길동12013210113490230
김철수220182191234290330
이영희150232201154190330
박민수320132151134110130

좌측 고정 · 열 개수

stickyCols로 고정할 열 개수를 지정합니다. 2열 이상은 stickyLeftOffsets에 이전 열 너비 합을 넣습니다.

이름부서1월2월3월4월5월
홍길동프론트12013210113490
김철수백엔드220182191234290
이영희디자인150232201154190
박민수QA320132151134110

상단 · 좌측 고정

stickyTop과 stickyLeft를 함께 쓰면 헤더와 좌측 열이 동시에 고정됩니다.

이름1월2월3월4월5월6월
홍길동12013210113490230
김철수220182191234290330
이영희150232201154190330
박민수320132151134110130
최지우180162171144210250
정수연240212181194260280
한도윤110142121164170200
오세린200192211184230310

API · Props

Prop타입기본값설명
borderedbooleanfalse셀 테두리 (table_bordered)
stripedbooleanfalse줄무늬 행 (table_striped)
compactbooleanfalse좁은 패딩 (table_compact)
hoverbooleanfalse행 호버 강조 (table_hover)
wrapbooleantruetable_wrap 스크롤 래퍼 사용
scrollbooleanfalsesticky용 스크롤 컨테이너 (table_wrap-scroll)
scrollMaxHeightstring--table-scroll-max-height (예: 14rem · none)
stickyTopbooleanfalsethead 상단 고정 (table_sticky-top)
stickyLeftbooleanfalse좌측 열 고정 (table_sticky-left)
stickyCols1 | 2 | 3 | 41좌측 고정 열 개수 (table_sticky-cols-n). stickyLeft와 함께 사용
stickyLeftOffsetsRecord<number, string>{}n번째 고정 열 left 오프셋. { 2: '7rem' } → --table-sticky-left-2
columnsTableColumn[][]열 너비·패딩. { width, minWidth, maxWidth, padding, nowrap } — colgroup·CSS 변수로 적용
classNamestringtable_wrap(또는 table) 루트에 추가 클래스

API · Children

Children설명
childrenthead · tbody · tfoot 등 테이블 마크업 (Vue default 슬롯 대응)

클래스 · 속성

React 컴포넌트가 렌더하는 OOCSS 클래스입니다. HTML 마크업으로 직접 작성할 때 동일하게 조합합니다.

클래스설명
table_wrap가로 스크롤 래퍼
table_wrap-scrollsticky용 스크롤 컨테이너 (overflow · max-height)
table테이블 루트
table_columnscolumns prop 사용 시 고정 레이아웃·열별 패딩
table_bordered · table_striped · table_compact · table_hover스타일 변형
table_sticky-topthead 상단 고정
table_sticky-left좌측 열 고정 (table_sticky-cols-n과 함께 사용)
table_sticky-cols-1 … table_sticky-cols-4좌측 고정 열 개수. 2열 이상은 --table-sticky-left-n 필요

디자인 토큰

토큰기본값설명
--table-cell-padding-y · --table-cell-padding-x0.65rem · 1rem셀 패딩
--table-cell-padding-y-compact · --table-cell-padding-x-compact0.4rem · 0.75remcompact 패딩
--table-font-size · --table-header-font-weightvar(--text-size-sm) · 600본문·헤더 타이포
--table-scroll-max-height16remtable_wrap-scroll 최대 높이
--table-sticky-left-n0 (1열)n번째 고정 열의 left 오프셋 (이전 열 너비 합)
--table-sticky-shadow2px 0 4px -2px …좌측 고정 끝 열 그림자