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

슬라이더

정확한 숫자보다 대략의 지점을 고르게 하고 싶을 때 — 시급, 거리, 경력.

입력

실제 미리보기

출처

<div class="dc-range">
  <div class="dc-range__top">
    <label class="dc-range__label" for="dc-range-a">희망 시급</label>
    <output class="dc-range__out" for="dc-range-a">12,000원</output>
  </div>
  <input class="dc-range__input" id="dc-range-a" type="range" min="10000" max="30000" step="500" value="12000" aria-valuetext="시간당 12,000원" />
  <div class="dc-range__ends"><span>10,000원</span><span>30,000원</span></div>
</div>
.dc-range { max-width:420px; font-family:var(--dc-font); }
.dc-range__top { display:flex; align-items:baseline; justify-content:space-between; gap:var(--dc-3); margin-bottom:var(--dc-2); }
.dc-range__label { font-size:13px; font-weight:600; color:var(--dc-text); }
.dc-range__out { font-family:var(--dc-mono); font-size:14px; font-weight:700; color:var(--dc-brand-text); }
.dc-range__input { -webkit-appearance:none; appearance:none; display:block; width:100%; height:28px; margin:0; background:transparent; accent-color:var(--dc-brand); cursor:pointer; }
.dc-range__input::-webkit-slider-runnable-track { height:6px; border:1px solid var(--dc-line-field); border-radius:var(--dc-r-full); background:var(--dc-sunken); }
.dc-range__input::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:24px; height:24px; margin-top:-8px; border:2px solid var(--dc-surface); border-radius:var(--dc-r-full); background:var(--dc-brand); box-shadow:var(--dc-sh-2); }
.dc-range__input::-moz-range-track { height:6px; border:1px solid var(--dc-line-field); border-radius:var(--dc-r-full); background:var(--dc-sunken); }
.dc-range__input::-moz-range-thumb { width:24px; height:24px; border:2px solid var(--dc-surface); border-radius:var(--dc-r-full); background:var(--dc-brand); }
.dc-range__input:focus-visible { outline:2px solid var(--dc-brand); outline-offset:4px; border-radius:var(--dc-r-full); }
.dc-range__input:disabled { accent-color:var(--dc-text-mute); cursor:not-allowed; opacity:.5; }
.dc-range__input:disabled::-webkit-slider-thumb { background:var(--dc-text-mute); }
.dc-range__ends { display:flex; justify-content:space-between; margin-top:var(--dc-1); font-size:12px; color:var(--dc-text-mute); }
.dc-range__ticks { display:flex; justify-content:space-between; list-style:none; margin:var(--dc-2) 0 0; padding:0; }
.dc-range__tick { font-size:11px; color:var(--dc-text-mute); }
.dc-range__tick.is-on { color:var(--dc-brand-text); font-weight:700; }
.dc-range__lock { margin:var(--dc-2) 0 0; font-size:12px; color:var(--dc-text-sub); }

이렇게 씁니다

  • 지금 고른 값을 항상 숫자로 같이 보여 준다
  • 양 끝 값과 단위를 아래에 적어 범위를 알려 준다
  • 값이 정확해야 하면 슬라이더 대신 숫자 입력칸을 쓴다

주의할 점

  • 손잡이는 24px 이상으로 키우고 주변 여백을 남긴다 — 손가락으로 잡을 수 있어야 한다
  • div 로 흉내내지 말고 input type=range 를 쓴다 — 화살표 키와 읽어 주는 기계가 그냥 따라온다

다음에 볼 것