Forms

      Examples and usage guidelines for form control styles, layout options, and custom components for creating a wide variety of forms.

      Overview

      Bootstrap’s form controls expand on our Rebooted form styles with classes. Use these classes to opt into their customized displays for a more consistent rendering across browsers and devices.

      Be sure to use an appropriate type attribute on all inputs (e.g., email for email address or number for numerical information) to take advantage of newer input controls like email verification, number selection, and more.

      Here’s a quick example to demonstrate Bootstrap’s form styles. Keep reading for documentation on required classes, form layout, and more.

      We'll never share your email with anyone else.
      <form>
      <div class="mb-3">
      <label for="exampleInputEmail1" class="form-label">Email address</label>
      <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
      <div id="emailHelp" class="form-text">We'll never share your email with anyone else.</div>
      </div>
      <div class="mb-3">
      <label for="exampleInputPassword1" class="form-label">Password</label>
      <input type="password" class="form-control" id="exampleInputPassword1">
      </div>
      <div class="mb-3 form-check">
      <input type="checkbox" class="form-check-input" id="exampleCheck1">
      <label class="form-check-label" for="exampleCheck1">Check me out</label>
      </div>
      <button type="submit" class="btn btn-primary">Submit</button>
      </form>

      Form text

      Block-level or inline-level form text can be created using .form-text.

      Associating form text with form controls

      Form text should be explicitly associated with the form control it relates to using the aria-describedby attribute. This will ensure that assistive technologies—such as screen readers—will announce this form text when the user focuses or enters the control.

      Form text below inputs can be styled with .form-text. If a block-level element will be used, a top margin is added for easy spacing from the inputs above.

      Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji.
      <label for="inputPassword5" class="form-label">Password</label>
      <input type="password" id="inputPassword5" class="form-control" aria-describedby="passwordHelpBlock">
      <div id="passwordHelpBlock" class="form-text">
      Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji.
      </div>

      Inline text can use any typical inline HTML element (be it a <span>, <small>, or something else) with nothing more than the .form-text class.

      Must be 8-20 characters long.
      <div class="row g-3 align-items-center">
      <div class="col-auto">
      <label for="inputPassword6" class="col-form-label">Password</label>
      </div>
      <div class="col-auto">
      <input type="password" id="inputPassword6" class="form-control" aria-describedby="passwordHelpInline">
      </div>
      <div class="col-auto">
      <span id="passwordHelpInline" class="form-text">
      Must be 8-20 characters long.
      </span>
      </div>
      </div>

      Disabled forms

      Add the disabled boolean attribute on an input to prevent user interactions and make it appear lighter.

      <input class="form-control" id="disabledInput" type="text" placeholder="Disabled input here..." disabled>
      

      Add the disabled attribute to a <fieldset> to disable all the controls within. Browsers treat all native form controls (<input>, <select>, and <button> elements) inside a <fieldset disabled> as disabled, preventing both keyboard and mouse interactions on them.

      However, if your form also includes custom button-like elements such as <a class="btn btn-*">...</a>, these will only be given a style of pointer-events: none, meaning they are still focusable and operable using the keyboard. In this case, you must manually modify these controls by adding tabindex="-1" to prevent them from receiving focus and aria-disabled="disabled" to signal their state to assistive technologies.

      Disabled fieldset example
      <form>
      <fieldset disabled>
      <legend>Disabled fieldset example</legend>
      <div class="mb-3">
      <label for="disabledTextInput" class="form-label">Disabled input</label>
      <input type="text" id="disabledTextInput" class="form-control" placeholder="Disabled input">
      </div>
      <div class="mb-3">
      <label for="disabledSelect" class="form-label">Disabled select menu</label>
      <select id="disabledSelect" class="form-select">
        <option>Disabled select</option>
      </select>
      </div>
      <div class="mb-3">
      <div class="form-check">
        <input class="form-check-input" type="checkbox" id="disabledFieldsetCheck" disabled>
        <label class="form-check-label" for="disabledFieldsetCheck">
          Can't check this
        </label>
      </div>
      </div>
      <button type="submit" class="btn btn-primary">Submit</button>
      </fieldset>
      </form>

      Accessibility

      Ensure that all form controls have an appropriate accessible name so that their purpose can be conveyed to users of assistive technologies. The simplest way to achieve this is to use a <label> element, or—in the case of buttons—to include sufficiently descriptive text as part of the <button>...</button> content.

      For situations where it’s not possible to include a visible <label> or appropriate text content, there are alternative ways of still providing an accessible name, such as:

      • <label> elements hidden using the .visually-hidden class
      • Pointing to an existing element that can act as a label using aria-labelledby
      • Providing a title attribute
      • Explicitly setting the accessible name on an element using aria-label

      If none of these are present, assistive technologies may resort to using the placeholder attribute as a fallback for the accessible name on <input> and <textarea> elements. The examples in this section provide a few suggested, case-specific approaches.

      While using visually hidden content (.visually-hidden, aria-label, and even placeholder content, which disappears once a form field has content) will benefit assistive technology users, a lack of visible label text may still be problematic for certain users. Some form of visible label is generally the best approach, both for accessibility and usability.

      Sass

      Many form variables are set at a general level to be re-used and extended by individual form components. You’ll see these most often as $btn-input-* and $input-* variables.

      Variables

      $btn-input-* variables are shared global variables between our buttons and our form components. You’ll find these frequently reassigned as values to other component-specific variables.

      $input-btn-padding-y:         .375rem;
      $input-btn-padding-x:         .75rem;
      $input-btn-font-family:       null;
      $input-btn-font-size:         $font-size-base;
      $input-btn-line-height:       $line-height-base;
      
      $input-btn-focus-width:         .25rem;
      $input-btn-focus-color-opacity: .25;
      $input-btn-focus-color:         rgba($component-active-bg, $input-btn-focus-color-opacity);
      $input-btn-focus-blur:          0;
      $input-btn-focus-box-shadow:    0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color;
      
      $input-btn-padding-y-sm:      .25rem;
      $input-btn-padding-x-sm:      .5rem;
      $input-btn-font-size-sm:      $font-size-sm;
      
      $input-btn-padding-y-lg:      .5rem;
      $input-btn-padding-x-lg:      1rem;
      $input-btn-font-size-lg:      $font-size-lg;
      
      $input-btn-border-width:      $border-width;
      
      返回頂部
      主站蜘蛛池模板: 一区二区三区四区电影视频在线观看 | 亚洲福利一区二区三区| 日韩精品人妻av一区二区三区| 东京热无码一区二区三区av | 国产一区二区三区在线观看精品| 亚洲愉拍一区二区三区| 国产精品亚洲一区二区三区在线| 国内精品一区二区三区最新| 亚洲一区二区无码偷拍| 精品一区二区三区在线观看视频| 国产在线精品一区二区不卡麻豆| 免费萌白酱国产一区二区| 另类国产精品一区二区| 国产精品视频一区二区猎奇| 无码少妇一区二区| 无码人妻品一区二区三区精99| 制服中文字幕一区二区 | 国产成人无码一区二区三区在线| 四虎成人精品一区二区免费网站 | 伊人久久精品无码av一区| 亚洲国产综合无码一区二区二三区 | 末成年女A∨片一区二区| 国产成人久久精品一区二区三区| 狠狠色婷婷久久一区二区三区| 国产一区二区视频在线观看| 一区二区三区91| 99久久精品国产免看国产一区 | 久久久综合亚洲色一区二区三区| 久久婷婷久久一区二区三区| 国产AV一区二区三区传媒| 亚洲高清日韩精品第一区| 亚洲日韩AV一区二区三区中文| 亚洲色精品VR一区区三区 | 国精品无码A区一区二区| 国产成人综合精品一区| 黑人大战亚洲人精品一区| 少妇无码一区二区三区| 影音先锋中文无码一区| 国产在线精品一区二区在线看| 极品少妇伦理一区二区| 国产精品视频第一区二区三区|