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"