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

세그먼트 토글

같은 목록을 어떤 눈으로 볼지 고르는 자리 — 선택지가 둘에서 넷이고, 고르는 즉시 화면이 바뀔 때 쓴다.

버튼 · 액션

실제 미리보기

출처

<fieldset class="dc-seg">
  <legend class="dc-sr">작업 상태로 보기</legend>
  <div class="dc-seg__track">
    <input class="dc-seg__in" type="radio" name="dc-seg-state" id="dc-seg-all" checked />
    <label class="dc-seg__lb" for="dc-seg-all">전체</label>
    <input class="dc-seg__in" type="radio" name="dc-seg-state" id="dc-seg-run" />
    <label class="dc-seg__lb" for="dc-seg-run">진행 중</label>
    <input class="dc-seg__in" type="radio" name="dc-seg-state" id="dc-seg-done" />
    <label class="dc-seg__lb" for="dc-seg-done">완료</label>
  </div>
</fieldset>
.dc-seg {
  margin: 0;
  padding: var(--dc-4);
  border: 0;
  background: var(--dc-bg);
  font-family: var(--dc-font);
}
.dc-seg__track {
  display: flex;
  gap: 2px;
  padding: 3px;
  border-radius: var(--dc-r-md);
  background: var(--dc-sunken);
}
.dc-seg__in {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.dc-seg__lb {
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: var(--dc-1);
  min-height: 44px;
  padding: 0 var(--dc-3);
  border-radius: calc(var(--dc-r-md) - 3px);
  color: var(--dc-text-sub);
  font-family: var(--dc-font);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--dc-fast), color var(--dc-fast);
}
.dc-seg__in:checked + .dc-seg__lb {
  background: var(--dc-surface);
  color: var(--dc-text);
  box-shadow: var(--dc-sh-1);
}
.dc-seg__in:focus-visible + .dc-seg__lb {
  outline: 2px solid var(--dc-brand);
  outline-offset: 2px;
}
.dc-seg__ico {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

이렇게 씁니다

  • 선택지는 두 개에서 네 개까지. 다섯 개가 넘으면 드롭다운이나 탭으로 바꾼다
  • 글자는 한두 단어로 맞추고, 길이가 비슷한 말을 고른다
  • 고르는 즉시 결과가 바뀌어야 한다. 따로 적용 버튼을 두면 이 조각이 아니다

주의할 점

  • 라디오 input 으로 만들어야 키보드 화살표와 스크린리더가 한 그룹으로 읽는다
  • 칸 높이를 44px 아래로 줄이지 않는다. 칸이 좁아 옆을 잘못 누르기 쉽다

다음에 볼 것