រំលងទៅខ្លឹមសារ

ការគ្រប់គ្រងជាចំណែក

សម្រាប់មើលបញ្ជីដូចគ្នាតាមទិដ្ឋភាពផ្សេង — ជ្រើសមួយក្នុងចំណោមពីរទៅបួន។

ការរុករក

មើលជាមុនផ្ទាល់

ប្រភព

<div class="dc-sg-wrap">
  <div class="dc-sg" role="group" aria-label="주문 상태로 보기">
    <input class="dc-sg__in" type="radio" name="dc-sg-state" id="dc-sg-all" checked>
    <label class="dc-sg__lb" for="dc-sg-all">전체</label>
    <input class="dc-sg__in" type="radio" name="dc-sg-state" id="dc-sg-doing">
    <label class="dc-sg__lb" for="dc-sg-doing">진행중</label>
    <input class="dc-sg__in" type="radio" name="dc-sg-state" id="dc-sg-done">
    <label class="dc-sg__lb" for="dc-sg-done">완료</label>
  </div>
</div>
.dc-sg-wrap {
  padding: var(--dc-4);
  background: var(--dc-bg);
  font-family: var(--dc-font);
}
.dc-sg {
  position: relative;
  display: flex; gap: 3px;
  padding: 3px;
  border-radius: var(--dc-r-full);
  background: var(--dc-sunken);
}
.dc-sg__in {
  position: absolute;
  width: 1px; height: 1px; margin: 0; opacity: 0;
  pointer-events: none;
}
.dc-sg__lb {
  flex: 1 1 0; min-width: 0;
  display: grid; place-items: center;
  min-height: 44px; padding: 0 var(--dc-2);
  border-radius: var(--dc-r-full);
  color: var(--dc-text-sub);
  font-size: 14px; font-weight: 700; letter-spacing: -.01em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  cursor: pointer;
  transition: background var(--dc-fast), color var(--dc-fast);
}
.dc-sg__in:checked + .dc-sg__lb {
  background: var(--dc-surface); color: var(--dc-text);
  box-shadow: var(--dc-sh-1);
}
.dc-sg__in:focus-visible + .dc-sg__lb {
  outline: 2px solid var(--dc-brand); outline-offset: 2px;
}
.dc-sg--solid .dc-sg__in:checked + .dc-sg__lb {
  background: var(--dc-brand); color: var(--dc-text-on);
}
.dc-sg--block { border-radius: var(--dc-r-md); }
.dc-sg--block .dc-sg__lb { border-radius: var(--dc-r-sm); }

របៀបប្រើ

  • ពីរទៅបួនចំណែក; ដល់ប្រាំ ត្រូវប្តូរទៅថេបរំកិល ឬបញ្ជីជ្រើស
  • ប្រើដើម្បីតម្រងបញ្ជីមួយ មិនមែនប្តូរអេក្រង់ទាំងមូល — នោះជាការងាររបស់ថេប
  • តែងមានចំណែកមួយត្រូវជ្រើស; នៅទីនេះគ្មានស្ថានភាពទទេទេ
  • ធ្វើឲ្យប្រវែងស្លាកប្រហាក់ប្រហែលគ្នា — ប៉ុស្តិ៍ទទឹងស្មើគ្នា ស្លាកវែងតែមួយនឹងត្រូវកាត់

ចំណុចត្រូវប្រុងប្រយ័ត្ន

  • radio ដែលលាក់ត្រូវអាចផ្លាស់ដោយគ្រាប់ចុចព្រួញ; រក្សាបន្ទាត់បញ្ជូន focus-visible ទៅស្លាក
  • មិនត្រូវបន្ថយកម្ពស់ចំណែកចុចក្រោម ៤៤px
  • ដាក់ aria-label លើ role="group" ដើម្បីប្រាប់ថាកំពុងជ្រើសអ្វី

បន្ទាប់