--- layout: docs title: Forms description: Examples and usage guidelines for form control styles, layout options, and custom components for creating a wide variety of forms. group: forms toc: true sections: - title: Form control description: Style textual inputs and textareas with support for multiple states. - title: Select description: Improve browser default select elements with a custom initial appearance. - title: Checks description: Use our custom radio buttons and checkboxes in forms for selecting input options. - title: File description: Replace browser default file inputs with our custom version with optional JavaScript. - title: Range description: Replace browser default range inputs with our custom version. - title: Input group description: Attach labels and buttons to your inputs for increased semantic value. - title: Layout description: Create inline, horizontal, or complex grid-based layouts with your forms. - title: Validation description: Validate your forms with custom or native validation behaviors and styles. --- ## Overview Bootstrap's form controls expand on [our Rebooted form styles]({{< docsref "/content/reboot#forms" >}}) 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. {{< example >}}
We'll never share your email with anyone else.
{{< /example >}} ## Help text Block-level help text in forms can be created using `.form-text` (previously known as `.help-block` in v3). Inline help text can be flexibly implemented using any inline HTML element and utility classes like `.text-muted`. {{< callout warning >}} ##### Associating help text with form controls Help 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 help text when the user focuses or enters the control. {{< /callout >}} Help text below inputs can be styled with `.form-text`. This class includes `display: block` and adds some top margin for easy spacing from the inputs above. {{< example >}} Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji. {{< /example >}} Inline text can use any typical inline HTML element (be it a ``, ``, or something else) with nothing more than a utility class. {{< example >}}
Must be 8-20 characters long.
{{< /example >}} ## Disabled forms Add the `disabled` boolean attribute on an input to prevent user interactions and make it appear lighter. {{< highlight html >}} {{< /highlight >}} Add the `disabled` attribute to a `
` to disable all the controls within. By default, browsers will treat all native form controls (``, `
{{< /example >}}