Input fields
Examples of standard form controls supported in an example form layout. Individual form controls automatically receive some global styling set by .form-control class. All textual <input>, <textarea>, and <select> elements with .form-control are set to width: 100%; by default. Wrap labels and controls in div container and add .mb-3 for optimum spacing. Labels in horizontal form require .col-form-label class for proper spacing.
Selects
Demo of single/multiple selects and datalist combo box. Single and multiple selects require .form-select class for consistent cross browser styling. Input with corresponding datalist element requires regular .form-control class, since it's a text input that acts as combo select and allows you to type, select and type & select. More info about datalist can be found here.
File input
readonly state by definition, the only difference in style is disabled state. All disabled styles in selects are sharing same look and feel with other form elements, such as input fields and file inputs.Form helpers
Block-level or inline-level form text helpers. Form text below inputs can be styled with .form-text or .badge classes. If a block-level element will be used, a top margin is added for easy spacing from the inputs above. Inline text can use any typical inline HTML element (be it a <span>, <small>, or something else) with nothing more than the same class.
Input icons
Form icon helpers. Can be user with any icon format - icon font, image, HTML symbol or SVG. Icon helpers are not supported in selects, textareas and file inputs due to specifics of custom styling. Images and SVG's require manual sizing and icon font (default) automatically scales up or down depending on input size. Spinners are also supported in various sizes.
Local styling
Input fields support all available text options via available helper classes. Just add any text class to elements with .form-control or .form-select class, e.g. <class="form-control text-uppercase"> to apply custom text styling. You can also change text alignment, input shape and text/border/background color. Examples below demonstrate some of the options. For all available utility classes, refer to this page.
Custom options
Form fields can be mixed with JS and other components to provide additional functionality in certain use cases. You can add tooltips, popovers, floating buttons and change their behaviour (e.g. trigger tooltip on hover of focus) simply by adding elements with utility classes or calling JS components with data attributes. Here are some examples:
Advanced filters
Additional input types
Examples of additional input types to demonstrate how global styling is applied to them. All text input fields require our global .form-control class for consistent style and some inputs have their own classes: .form-range for range input and a combination of .form-control.form-control-color classes for color picker. It is strongly recommended to use content specific input type (e.g. search for search functionality, email for email inputs, etc) to trigger relevant keyboards on mobile devices.
input type="datetime-local"input type="date"input type="month"input type="time"input type="week"input type="number"input type="email"input type="url"input type="search"input type="tel"input type="color"input type="range"