ข้ามไปที่เนื้อหาหลัก ข้ามไปที่การนำทางเอกสาร
in English

เช็คและวิทยุ

สร้างช่องทำเครื่องหมายและวิทยุข้ามเบราว์เซอร์และข้ามอุปกรณ์ที่สอดคล้องกันด้วยองค์ประกอบการตรวจสอบที่เขียนใหม่ทั้งหมดของเรา

เข้าใกล้

ช่องทำเครื่องหมายและตัวเลือกเริ่มต้นของเบราว์เซอร์จะถูกแทนที่ด้วยความช่วยเหลือของ.form-checkชุดคลาสสำหรับอินพุตทั้งสองประเภทที่ปรับปรุงเลย์เอาต์และการทำงานขององค์ประกอบ HTML ที่ให้การปรับแต่งและความสอดคล้องข้ามเบราว์เซอร์ที่มากขึ้น ช่องทำเครื่องหมายมีไว้สำหรับเลือกหนึ่งตัวเลือกหรือหลายตัวเลือกในรายการ ในขณะที่วิทยุมีไว้สำหรับเลือกตัวเลือกหนึ่งตัวเลือกจากหลายตัวเลือก

โครงสร้าง<input>s และ<label>s ของเราเป็นองค์ประกอบพี่น้องเมื่อเทียบกับ<input>ภายใน a <label>. นี่เป็นรายละเอียดที่ละเอียดกว่าเล็กน้อย เนื่องจากคุณต้องระบุidและ แอตทริบิวต์เพื่อ เชื่อมforโยง<input>และ <label>เราใช้ตัวเลือกพี่น้อง ( ~) สำหรับสถานะทั้งหมดของเรา<input>เช่น:checkedหรือ :disabledเมื่อรวมกับ.form-check-labelคลาส เราสามารถจัดรูปแบบข้อความสำหรับแต่ละรายการตามสถานะ<input>ของ 's ได้อย่างง่ายดาย

การตรวจสอบของเราใช้ไอคอน Bootstrap แบบกำหนดเองเพื่อระบุสถานะที่ตรวจสอบหรือไม่แน่นอน

เช็ค

<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>

ไม่แน่นอน

ช่องทำเครื่องหมายสามารถใช้:indeterminateคลาสหลอกได้เมื่อตั้งค่าด้วยตนเองผ่าน JavaScript (ไม่มีแอตทริบิวต์ 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 ที่เกี่ยวข้องจะถูกจัดรูปแบบโดยอัตโนมัติเพื่อให้ตรงกับสีที่อ่อนกว่าเพื่อช่วยระบุสถานะของอินพุต

<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>

วิทยุ

<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 ที่เกี่ยวข้องจะถูกจัดรูปแบบโดยอัตโนมัติเพื่อให้ตรงกับสีที่อ่อนกว่าเพื่อช่วยระบุสถานะของอินพุต

<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แอตทริบิวต์

<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ด้วย

<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>
<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.

<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>
<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สำหรับช่องทำเครื่องหมายและวิทยุที่ไม่มีข้อความป้ายกำกับ อย่าลืมระบุชื่อรูปแบบที่เข้าถึงได้สำหรับเทคโนโลยีอำนวยความสะดวก (เช่น การใช้aria-label) ดู ส่วนการช่วยสำหรับการ เข้าถึงภาพรวมของฟอร์มสำหรับรายละเอียด

<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>ปุ่มสลับเหล่านี้สามารถจัดกลุ่มเพิ่มเติมในกลุ่มปุ่มได้หากจำเป็น

ปุ่มสลับช่องทำเครื่องหมาย

<input type="checkbox" class="btn-check" id="btn-check" autocomplete="off">
<label class="btn btn-primary" for="btn-check">Single toggle</label>
<input type="checkbox" class="btn-check" id="btn-check-2" checked autocomplete="off">
<label class="btn btn-primary" for="btn-check-2">Checked</label>
<input type="checkbox" class="btn-check" id="btn-check-3" autocomplete="off" disabled>
<label class="btn btn-primary" for="btn-check-3">Disabled</label>
ปุ่มสลับช่องทำเครื่องหมายเหล่านี้จะเหมือนกับ ปุ่มสลับของปลั๊กอินด้วย สายตา อย่างไรก็ตาม เทคโนโลยีอำนวยความสะดวกต่างๆ ถ่ายทอดสัญญาณเหล่านี้ต่างกัน: โปรแกรมอ่านหน้าจอจะประกาศการสลับช่องทำเครื่องหมายว่า "ตรวจสอบแล้ว"/"ไม่ได้เลือก" (เนื่องจากแม้ว่าจะมีลักษณะที่ปรากฏ แต่ก็ยังคงเป็นช่องทำเครื่องหมายโดยพื้นฐาน) ในขณะที่ปุ่มสลับปลั๊กอินจะเป็น ประกาศเป็น “ปุ่ม”/“ปุ่มที่ถูกกด” ทางเลือกระหว่างสองวิธีนี้จะขึ้นอยู่กับประเภทของการสลับที่คุณกำลังสร้าง และการสลับจะเหมาะสมหรือไม่สำหรับผู้ใช้เมื่อมีการประกาศเป็นช่องทำเครื่องหมายหรือเป็นปุ่มจริง

ปุ่มสลับวิทยุ

<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เช่น ในรูปแบบโครงร่างต่างๆ



<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 10l3 3l6-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;