រំលងទៅមាតិកាសំខាន់ រំលងទៅការរុករកឯកសារ
Check
in English

ការត្រួតពិនិត្យនិងវិទ្យុ

បង្កើតប្រអប់ធីក និងវិទ្យុឆ្លងឧបករណ៍ និងកម្មវិធីរុករកដែលជាប់លាប់ជាមួយនឹងសមាសធាតុពិនិត្យដែលសរសេរឡើងវិញទាំងស្រុងរបស់យើង។

វិធីសាស្រ្ត

ប្រអប់ធីក និងវិទ្យុលំនាំដើមរបស់កម្មវិធីរុករកតាមអ៊ីនធឺណិតត្រូវបានជំនួសដោយជំនួយនៃ .form-checkស៊េរីនៃថ្នាក់សម្រាប់ប្រភេទបញ្ចូលទាំងពីរដែលធ្វើអោយប្រសើរឡើងនូវប្លង់ និងឥរិយាបថនៃធាតុ HTML របស់ពួកគេ ដែលផ្តល់នូវការប្ដូរតាមបំណងកាន់តែច្រើន និងភាពស៊ីសង្វាក់នៃកម្មវិធីរុករកតាមអ៊ីនធឺណិត។ ប្រអប់ធីកគឺសម្រាប់ជ្រើសរើសជម្រើសមួយ ឬច្រើននៅក្នុងបញ្ជីមួយ ខណៈពេលដែលវិទ្យុគឺសម្រាប់ជ្រើសរើសជម្រើសមួយពីមនុស្សជាច្រើន។

តាមរចនាសម្ព័ន <input>s និង <label>s របស់យើងគឺជាធាតុបងប្អូនបង្កើត ផ្ទុយពី <input>ក្នុង <label>. នេះ​គឺ​ជា​ការ​និយាយ​ច្រើន​ជាង​នេះ​បន្តិច​ព្រោះ​អ្នក​ត្រូវ​តែ​បញ្ជាក់ id​និង for​គុណលក្ខណៈ​ដើម្បី​ទាក់ទង <input>​និង <label>. យើងប្រើកម្មវិធីជ្រើសរើសបងប្អូនបង្កើត ( ~) សម្រាប់ <input>រដ្ឋទាំងអស់របស់យើង ដូចជា :checked:disabled. នៅពេលរួមបញ្ចូលគ្នាជាមួយ .form-check-labelថ្នាក់ យើងអាចកំណត់រចនាប័ទ្មអត្ថបទយ៉ាងងាយស្រួលសម្រាប់ធាតុនីមួយៗដោយផ្អែកលើ <input>ស្ថានភាពរបស់។

ការឆែកឆេររបស់យើងប្រើរូបតំណាង Bootstrap ផ្ទាល់ខ្លួន ដើម្បីបង្ហាញពីស្ថានភាពដែលបានធីក ឬមិនកំណត់។

ពិនិត្យ

html
<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
  <label class="form-check-label" for="flexCheckDefault">
    Default checkbox
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="flexCheckChecked" checked>
  <label class="form-check-label" for="flexCheckChecked">
    Checked checkbox
  </label>
</div>

មិនកំណត់

ប្រអប់ធីកអាចប្រើប្រាស់ :indeterminatepseudo class នៅពេលកំណត់ដោយដៃតាមរយៈ JavaScript (មិនមានគុណលក្ខណៈ HTML សម្រាប់បញ្ជាក់វាទេ)។

html
<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="flexCheckIndeterminate">
  <label class="form-check-label" for="flexCheckIndeterminate">
    Indeterminate checkbox
  </label>
</div>

ពិការ

បន្ថែម disabledគុណលក្ខណៈ ហើយ <label>s ដែលពាក់ព័ន្ធត្រូវបានកំណត់រចនាប័ទ្មដោយស្វ័យប្រវត្តិដើម្បីផ្គូផ្គងជាមួយនឹងពណ៌ស្រាលជាងមុន ដើម្បីជួយបញ្ជាក់ពីស្ថានភាពនៃការបញ្ចូល។

html
<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="flexCheckIndeterminateDisabled" disabled>
  <label class="form-check-label" for="flexCheckIndeterminateDisabled">
    Disabled indeterminate checkbox
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="flexCheckDisabled" disabled>
  <label class="form-check-label" for="flexCheckDisabled">
    Disabled checkbox
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="flexCheckCheckedDisabled" checked disabled>
  <label class="form-check-label" for="flexCheckCheckedDisabled">
    Disabled checked checkbox
  </label>
</div>

វិទ្យុ

html
<div class="form-check">
  <input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault1">
  <label class="form-check-label" for="flexRadioDefault1">
    Default radio
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault2" checked>
  <label class="form-check-label" for="flexRadioDefault2">
    Default checked radio
  </label>
</div>

ពិការ

បន្ថែម disabledគុណលក្ខណៈ ហើយ <label>s ដែលពាក់ព័ន្ធត្រូវបានកំណត់រចនាប័ទ្មដោយស្វ័យប្រវត្តិដើម្បីផ្គូផ្គងជាមួយនឹងពណ៌ស្រាលជាងមុន ដើម្បីជួយបញ្ជាក់ពីស្ថានភាពនៃការបញ្ចូល។

html
<div class="form-check">
  <input class="form-check-input" type="radio" name="flexRadioDisabled" id="flexRadioDisabled" disabled>
  <label class="form-check-label" for="flexRadioDisabled">
    Disabled radio
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="radio" name="flexRadioDisabled" id="flexRadioCheckedDisabled" checked disabled>
  <label class="form-check-label" for="flexRadioCheckedDisabled">
    Disabled checked radio
  </label>
</div>

កុងតាក់

កុងតាក់មានសញ្ញាសម្គាល់ប្រអប់ធីកផ្ទាល់ខ្លួន ប៉ុន្តែប្រើ .form-switchថ្នាក់ដើម្បីបង្ហាញការបិទ/បើក។ ពិចារណាប្រើ role="switch"ដើម្បីបង្ហាញឱ្យកាន់តែច្បាស់អំពីលក្ខណៈនៃការគ្រប់គ្រងទៅកាន់បច្ចេកវិទ្យាជំនួយដែលគាំទ្រតួនាទីនេះ។ នៅក្នុងបច្ចេកវិទ្យាជំនួយចាស់ៗ វានឹងត្រូវបានប្រកាសជាធម្មតាថាជាប្រអប់ធីកធម្មតាជាការជំនួសវិញ។ ឧបករណ៍ប្តូរក៏គាំទ្រ disabledគុណលក្ខណៈផងដែរ។

html
<div class="form-check form-switch">
  <input class="form-check-input" type="checkbox" role="switch" id="flexSwitchCheckDefault">
  <label class="form-check-label" for="flexSwitchCheckDefault">Default switch checkbox input</label>
</div>
<div class="form-check form-switch">
  <input class="form-check-input" type="checkbox" role="switch" id="flexSwitchCheckChecked" checked>
  <label class="form-check-label" for="flexSwitchCheckChecked">Checked switch checkbox input</label>
</div>
<div class="form-check form-switch">
  <input class="form-check-input" type="checkbox" role="switch" id="flexSwitchCheckDisabled" disabled>
  <label class="form-check-label" for="flexSwitchCheckDisabled">Disabled switch checkbox input</label>
</div>
<div class="form-check form-switch">
  <input class="form-check-input" type="checkbox" role="switch" id="flexSwitchCheckCheckedDisabled" checked disabled>
  <label class="form-check-label" for="flexSwitchCheckCheckedDisabled">Disabled checked switch checkbox input</label>
</div>

លំនាំដើម (ជង់)

តាមលំនាំដើម ប្រអប់ធីក និងវិទ្យុណាមួយដែលជាបងប្អូនបង្កើតនឹងត្រូវបានដាក់ជាជង់បញ្ឈរ និងដាក់ចន្លោះសមស្របជាមួយ .form-check.

html
<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="defaultCheck1">
  <label class="form-check-label" for="defaultCheck1">
    Default checkbox
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="checkbox" value="" id="defaultCheck2" disabled>
  <label class="form-check-label" for="defaultCheck2">
    Disabled checkbox
  </label>
</div>
html
<div class="form-check">
  <input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios1" value="option1" checked>
  <label class="form-check-label" for="exampleRadios1">
    Default radio
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios2" value="option2">
  <label class="form-check-label" for="exampleRadios2">
    Second default radio
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios3" value="option3" disabled>
  <label class="form-check-label" for="exampleRadios3">
    Disabled radio
  </label>
</div>

ក្នុងជួរ

ប្រអប់ធីកជាក្រុម ឬវិទ្យុនៅលើជួរផ្ដេកដូចគ្នាដោយបន្ថែម .form-check-inlineទៅណាមួយ .form-check

html
<div class="form-check form-check-inline">
  <input class="form-check-input" type="checkbox" id="inlineCheckbox1" value="option1">
  <label class="form-check-label" for="inlineCheckbox1">1</label>
</div>
<div class="form-check form-check-inline">
  <input class="form-check-input" type="checkbox" id="inlineCheckbox2" value="option2">
  <label class="form-check-label" for="inlineCheckbox2">2</label>
</div>
<div class="form-check form-check-inline">
  <input class="form-check-input" type="checkbox" id="inlineCheckbox3" value="option3" disabled>
  <label class="form-check-label" for="inlineCheckbox3">3 (disabled)</label>
</div>
html
<div class="form-check form-check-inline">
  <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1">
  <label class="form-check-label" for="inlineRadio1">1</label>
</div>
<div class="form-check form-check-inline">
  <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2">
  <label class="form-check-label" for="inlineRadio2">2</label>
</div>
<div class="form-check form-check-inline">
  <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio3" value="option3" disabled>
  <label class="form-check-label" for="inlineRadio3">3 (disabled)</label>
</div>

បញ្ច្រាស

ដាក់ប្រអប់ធីក វិទ្យុ និងកុងតាក់របស់អ្នកនៅជ្រុងម្ខាងជាមួយ .form-check-reverseថ្នាក់កែប្រែ។

html
<div class="form-check form-check-reverse">
  <input class="form-check-input" type="checkbox" value="" id="reverseCheck1">
  <label class="form-check-label" for="reverseCheck1">
    Reverse checkbox
  </label>
</div>
<div class="form-check form-check-reverse">
  <input class="form-check-input" type="checkbox" value="" id="reverseCheck2" disabled>
  <label class="form-check-label" for="reverseCheck2">
    Disabled reverse checkbox
  </label>
</div>

<div class="form-check form-switch form-check-reverse">
  <input class="form-check-input" type="checkbox" id="flexSwitchCheckReverse">
  <label class="form-check-label" for="flexSwitchCheckReverse">Reverse switch checkbox input</label>
</div>

ដោយគ្មានស្លាក

បោះបង់ការរុំ .form-checkសម្រាប់ប្រអប់ធីក និងវិទ្យុដែលមិនមានអត្ថបទស្លាក។ សូមចងចាំថានៅតែផ្តល់នូវទម្រង់នៃឈ្មោះដែលអាចចូលប្រើបានសម្រាប់បច្ចេកវិទ្យាជំនួយ (ឧទាហរណ៍ ការប្រើប្រាស់ aria-label)។ សូមមើល ផ្នែក ភាពងាយស្រួលនៃទម្រង់ទិដ្ឋភាពទូទៅ សម្រាប់ព័ត៌មានលម្អិត។

html
<div>
  <input class="form-check-input" type="checkbox" id="checkboxNoLabel" value="" aria-label="...">
</div>

<div>
  <input class="form-check-input" type="radio" name="radioNoLabel" id="radioNoLabel1" value="" aria-label="...">
</div>

ប៊ូតុងបិទបើក

បង្កើតប្រអប់ធីកដូចប៊ូតុង និងប៊ូតុងមូល ដោយប្រើ .btnរចនាប័ទ្មជាជាង .form-check-labelនៅលើ <label>ធាតុ។ ប៊ូតុងបិទបើកទាំងនេះអាចត្រូវបានដាក់ជាក្រុមបន្ថែមទៀតនៅក្នុង ក្រុមប៊ូតុង ប្រសិនបើចាំបាច់។

ប៊ូតុងបិទបើកប្រអប់ធីក

html
<input type="checkbox" class="btn-check" id="btn-check" autocomplete="off">
<label class="btn btn-primary" for="btn-check">Single toggle</label>
html
<input type="checkbox" class="btn-check" id="btn-check-2" checked autocomplete="off">
<label class="btn btn-primary" for="btn-check-2">Checked</label>
html
<input type="checkbox" class="btn-check" id="btn-check-3" autocomplete="off" disabled>
<label class="btn btn-primary" for="btn-check-3">Disabled</label>
ដោយមើលឃើញ ប៊ូតុងបិទបើកប្រអប់ធីកទាំងនេះគឺដូចគ្នាបេះបិទទៅនឹង ប៊ូតុងបិទបើកកម្មវិធីជំនួយប៊ូតុង ។ ទោះជាយ៉ាងណាក៏ដោយ ពួកគេត្រូវបានបញ្ជូនខុសគ្នាដោយបច្ចេកវិទ្យាជំនួយ៖ ការបិទបើកប្រអប់ធីកនឹងត្រូវបានប្រកាសដោយអ្នកអានអេក្រង់ថា "បានគូសធីក"/"មិនបានគូសធីក" (ចាប់តាំងពីទោះបីជាមានរូបរាងក៏ដោយ ពួកវានៅតែជាប្រអប់ធីកជាមូលដ្ឋាន) ចំណែកឯប៊ូតុងបិទ/បើកកម្មវិធីជំនួយ ប៊ូតុងនឹងត្រូវបាន បានប្រកាសថាជា "ប៊ូតុង" / "ប៊ូតុងត្រូវបានចុច" ។ ជម្រើសរវាងវិធីសាស្រ្តទាំងពីរនេះនឹងអាស្រ័យលើប្រភេទនៃការបិទបើកដែលអ្នកកំពុងបង្កើត ហើយថាតើការបិទ/បើកនឹងមានន័យសម្រាប់អ្នកប្រើប្រាស់នៅពេលប្រកាសថាជាប្រអប់ធីក ឬជាប៊ូតុងពិតប្រាកដ។

ប៊ូតុងបិទបើកវិទ្យុ

html
<input type="radio" class="btn-check" name="options" id="option1" autocomplete="off" checked>
<label class="btn btn-secondary" for="option1">Checked</label>

<input type="radio" class="btn-check" name="options" id="option2" autocomplete="off">
<label class="btn btn-secondary" for="option2">Radio</label>

<input type="radio" class="btn-check" name="options" id="option3" autocomplete="off" disabled>
<label class="btn btn-secondary" for="option3">Disabled</label>

<input type="radio" class="btn-check" name="options" id="option4" autocomplete="off">
<label class="btn btn-secondary" for="option4">Radio</label>

រចនាប័ទ្មដែលបានគូសបញ្ជាក់

វ៉ារ្យ៉ង់ផ្សេងគ្នានៃ .btnរចនាប័ទ្មដែលបានគូសបញ្ជាក់ផ្សេងៗត្រូវបានគាំទ្រ។



html
<input type="checkbox" class="btn-check" id="btn-check-outlined" autocomplete="off">
<label class="btn btn-outline-primary" for="btn-check-outlined">Single toggle</label><br>

<input type="checkbox" class="btn-check" id="btn-check-2-outlined" checked autocomplete="off">
<label class="btn btn-outline-secondary" for="btn-check-2-outlined">Checked</label><br>

<input type="radio" class="btn-check" name="options-outlined" id="success-outlined" autocomplete="off" checked>
<label class="btn btn-outline-success" for="success-outlined">Checked success radio</label>

<input type="radio" class="btn-check" name="options-outlined" id="danger-outlined" autocomplete="off">
<label class="btn btn-outline-danger" for="danger-outlined">Danger radio</label>

សាស

អថេរ

$form-check-input-width:                  1em;
$form-check-min-height:                   $font-size-base * $line-height-base;
$form-check-padding-start:                $form-check-input-width + .5em;
$form-check-margin-bottom:                .125rem;
$form-check-label-color:                  null;
$form-check-label-cursor:                 null;
$form-check-transition:                   null;

$form-check-input-active-filter:          brightness(90%);

$form-check-input-bg:                     $input-bg;
$form-check-input-border:                 1px solid rgba($black, .25);
$form-check-input-border-radius:          .25em;
$form-check-radio-border-radius:          50%;
$form-check-input-focus-border:           $input-focus-border-color;
$form-check-input-focus-box-shadow:       $input-btn-focus-box-shadow;

$form-check-input-checked-color:          $component-active-color;
$form-check-input-checked-bg-color:       $component-active-bg;
$form-check-input-checked-border-color:   $form-check-input-checked-bg-color;
$form-check-input-checked-bg-image:       url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/></svg>");
$form-check-radio-checked-bg-image:       url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>");

$form-check-input-indeterminate-color:          $component-active-color;
$form-check-input-indeterminate-bg-color:       $component-active-bg;
$form-check-input-indeterminate-border-color:   $form-check-input-indeterminate-bg-color;
$form-check-input-indeterminate-bg-image:       url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>");

$form-check-input-disabled-opacity:        .5;
$form-check-label-disabled-opacity:        $form-check-input-disabled-opacity;
$form-check-btn-check-disabled-opacity:    $btn-disabled-opacity;

$form-check-inline-margin-end:    1rem;