Input group addons
Extend form controls by adding text or buttons before, after,
or on both sides of any text-based input, select or file
input. Use .input-group with an
.input-group-text to prepend or append elements
to a single or multiple .form-control and
.form-select elements. Place one add-on or button
on either side of an input. You may also place one on both
sides of an input. While multiple <input>s are
supported visually, validation styles are only available for
input groups with a single <input>.
Input group buttons
Optional buttons as addons. Buttons in input groups are a bit
different and don't require one extra level of nesting.
Instead of wrapping the buttons in
.input-group-text, you need to add button markup
as-is before or after form inputs. Input group buttons support
all available button options except sizing - all buttons
height will be adjusted automatically according to the input
group size.
Input group with selects
You can also use selects instead of regular inputs and also
mix them in different order. Selects in input group don't
require any additional wrappers and/or specific class names,
it works out of the box and logic is similar to input fields.
Just add <select> element markup with
.form-select class inside
.input-group or mix it with other elements such
as buttons, file/text inputs or text addons.
Input group with file input
You can also use file inputs instead of regular inputs and
also mix them in different order. File inputs in input group
don't require any additional wrappers and/or specific class
names, it works out of the box and logic is similar to input
fields. Just add a regular file input type markup with
.form-control class inside
.input-group or mix it with other elements such
as buttons, selects, text inputs or text addons.
Sizing options
Input group supports 3 sizing variations: default, small and
large. Default size doesn't require any additional sizing
class name, small size requires
.input-group-sm class and large size requires
.input-group-lg class added to default
.input-group container. All other elements within
input group are adjusted automatically.