Tab
Import
<link rel="stylesheet" href="/guide/css/base/index.css" /> <link rel="stylesheet" href="/guide/css/components/tab.css" /> <script src="/guide/js/components/tab.js"></script>
Live
탭 내용이 들어갑니다. Panel1
탭 내용이 들어갑니다. Panel2
탭 내용이 들어갑니다. Panel3
States
Tab1 Active
탭 내용이 들어갑니다. Panel1
Tab2 Active
탭 내용이 들어갑니다. Panel2
Tab3 Active
탭 내용이 들어갑니다. Panel3
Specs
| 요소 | Width | Padding | Border | Font | Color (Active) |
|---|---|---|---|---|---|
| Tab Container | 400px | — | 1px solid --gray-200 · radius-md | — | — |
| Tab Button | auto | 12px 16px | Header: 1px --gray-300 · Active: 2px --green-800 | 16px · Pretendard Regular | --green-800 text + border |
| Tab Panel | 100% | 0 12px 12px | — | 18px · Pretendard Regular | — |
Code
<div class="tab">
<div class="tab__header" role="tablist">
<button class="tab__btn tab__btn--active" role="tab"
aria-selected="true" aria-controls="panel-1">Tab1</button>
<button class="tab__btn" role="tab"
aria-selected="false" aria-controls="panel-2">Tab2</button>
<button class="tab__btn" role="tab"
aria-selected="false" aria-controls="panel-3">Tab3</button>
</div>
<div class="tab__panel tab__panel--active" id="panel-1" role="tabpanel">
<p class="tab__text">탭 내용이 들어갑니다.</p>
</div>
<div class="tab__panel" id="panel-2" role="tabpanel" hidden>
<p class="tab__text">탭 내용이 들어갑니다.</p>
</div>
<div class="tab__panel" id="panel-3" role="tabpanel" hidden>
<p class="tab__text">탭 내용이 들어갑니다.</p>
</div>
</div>
<script src="/guide/js/components/tab.js"></script>
Classes
| 클래스 | 타입 | 설명 |
|---|---|---|
| .tab | 루트 | 탭 컨테이너 |
| .tab__header | 요소 | 탭 버튼 행 (role="tablist") |
| .tab__btn | 요소 | 탭 버튼. aria-controls로 패널 연결 |
| .tab__btn--active | 수정자 | 활성 탭. 초록 텍스트 + 하단 보더 |
| .tab__panel | 요소 | 콘텐츠 패널 (기본 display: none) |
| .tab__panel--active | 수정자 | 표시되는 패널 |
| .tab__text | 요소 | 패널 텍스트 |