2014-07-13 03:59:31 -04:00
---
layout: page
title: Input group
---
2014-09-17 18:21:31 -04:00
Extend form controls by adding text or buttons before, after, or on both sides of any text-based `<input>` . Use `.input-group` with an `.input-group-addon` to prepend or append elements to a single `.form-control` .
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
< div class = "bs-callout bs-callout-danger" >
2014-09-17 18:21:31 -04:00
< h4 > Textual < code > < input> < / code > s only< / h4 >
< p > Avoid using < code > < textarea> < / code > elements here as their < code > rows< / code > attribute will not be respected in some cases.< / p >
2014-07-13 04:12:02 -04:00
< / div >
< div class = "bs-callout bs-callout-warning" >
< h4 > Tooltips & popovers in input groups require special setting< / h4 >
< p > When using tooltips or popovers on elements within an < code > .input-group< / code > , you'll have to specify the option < code > container: 'body'< / code > to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip or popover is triggered).< / p >
< / div >
< div class = "bs-callout bs-callout-warning" >
< h4 > Don't mix with other components< / h4 >
< p > Do not mix form groups or grid column classes directly with input groups. Instead, nest the input group inside of the form group or grid-related element.< / p >
< / div >
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
## Basic example
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
Place one add-on or button on either side of an input. You may also place one on both sides of an input.
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
**We do not support multiple add-ons on a single side.**
**We do not support multiple form-controls in a single input group.**
{% example html %}
2014-03-16 22:03:53 -04:00
< div class = "input-group" >
< span class = "input-group-addon" > @< / span >
< input type = "text" class = "form-control" placeholder = "Username" >
< / div >
2014-07-13 04:12:02 -04:00
< br >
2014-03-16 22:03:53 -04:00
< div class = "input-group" >
< input type = "text" class = "form-control" >
< span class = "input-group-addon" > .00< / span >
< / div >
2014-07-13 04:12:02 -04:00
< br >
2014-03-16 22:03:53 -04:00
< div class = "input-group" >
< span class = "input-group-addon" > $< / span >
< input type = "text" class = "form-control" >
< span class = "input-group-addon" > .00< / span >
< / div >
2014-07-13 04:12:02 -04:00
{% endexample %}
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
## Sizing
Add the relative form sizing classes to the `.input-group` itself and contents within will automatically resize—no need for repeating the form control size classes on each element.
{% example html %}
2014-03-16 22:03:53 -04:00
< div class = "input-group input-group-lg" >
< span class = "input-group-addon" > @< / span >
< input type = "text" class = "form-control" placeholder = "Username" >
< / div >
2014-07-13 04:12:02 -04:00
< br >
2014-03-16 22:03:53 -04:00
< div class = "input-group" >
< span class = "input-group-addon" > @< / span >
< input type = "text" class = "form-control" placeholder = "Username" >
< / div >
2014-07-13 04:12:02 -04:00
< br >
2014-03-16 22:03:53 -04:00
< div class = "input-group input-group-sm" >
< span class = "input-group-addon" > @< / span >
< input type = "text" class = "form-control" placeholder = "Username" >
< / div >
2014-07-13 04:12:02 -04:00
{% endexample %}
## Checkboxes and radio addons
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
Place any checkbox or radio option within an input group's addon instead of text.
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
{% example html %}
2014-03-16 22:03:53 -04:00
< div class = "row" >
< div class = "col-lg-6" >
< div class = "input-group" >
< span class = "input-group-addon" >
< input type = "checkbox" >
< / span >
< input type = "text" class = "form-control" >
2014-07-13 04:12:02 -04:00
< / div >
< / div >
2014-03-16 22:03:53 -04:00
< div class = "col-lg-6" >
< div class = "input-group" >
< span class = "input-group-addon" >
< input type = "radio" >
< / span >
< input type = "text" class = "form-control" >
2014-07-13 04:12:02 -04:00
< / div >
< / div >
< / div >
{% endexample %}
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
## Button addons
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
Buttons in input groups are a bit different and require one extra level of nesting. Instead of `.input-group-addon` , you'll need to use `.input-group-btn` to wrap the buttons. This is required due to default browser styles that cannot be overridden.
{% example html %}
2014-03-16 22:03:53 -04:00
< div class = "row" >
< div class = "col-lg-6" >
< div class = "input-group" >
< span class = "input-group-btn" >
2014-07-08 20:14:14 -04:00
< button class = "btn btn-secondary" type = "button" > Go!< / button >
2014-03-16 22:03:53 -04:00
< / span >
< input type = "text" class = "form-control" >
2014-07-13 04:12:02 -04:00
< / div >
< / div >
2014-03-16 22:03:53 -04:00
< div class = "col-lg-6" >
< div class = "input-group" >
< input type = "text" class = "form-control" >
< span class = "input-group-btn" >
2014-07-08 20:14:14 -04:00
< button class = "btn btn-secondary" type = "button" > Go!< / button >
2014-03-16 22:03:53 -04:00
< / span >
2014-07-13 04:12:02 -04:00
< / div >
< / div >
< / div >
{% endexample %}
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
## Buttons with dropdowns
{% example html %}
2014-03-16 22:03:53 -04:00
< div class = "row" >
< div class = "col-lg-6" >
< div class = "input-group" >
< div class = "input-group-btn" >
2014-07-08 20:14:14 -04:00
< button type = "button" class = "btn btn-secondary dropdown-toggle" data-toggle = "dropdown" > Action< / button >
2014-05-28 19:52:36 -04:00
< ul class = "dropdown-menu" role = "menu" >
2014-03-16 22:03:53 -04:00
< li > < a href = "#" > Action< / a > < / li >
< li > < a href = "#" > Another action< / a > < / li >
< li > < a href = "#" > Something else here< / a > < / li >
< li class = "divider" > < / li >
< li > < a href = "#" > Separated link< / a > < / li >
< / ul >
2014-07-13 04:12:02 -04:00
< / div >
2014-03-16 22:03:53 -04:00
< input type = "text" class = "form-control" >
2014-07-13 04:12:02 -04:00
< / div >
< / div >
2014-03-16 22:03:53 -04:00
< div class = "col-lg-6" >
< div class = "input-group" >
< input type = "text" class = "form-control" >
< div class = "input-group-btn" >
2014-07-08 20:14:14 -04:00
< button type = "button" class = "btn btn-secondary dropdown-toggle" data-toggle = "dropdown" > Action< / button >
2014-05-28 19:52:36 -04:00
< ul class = "dropdown-menu dropdown-menu-right" role = "menu" >
2014-03-16 22:03:53 -04:00
< li > < a href = "#" > Action< / a > < / li >
< li > < a href = "#" > Another action< / a > < / li >
< li > < a href = "#" > Something else here< / a > < / li >
< li class = "divider" > < / li >
< li > < a href = "#" > Separated link< / a > < / li >
< / ul >
2014-07-13 04:12:02 -04:00
< / div >
< / div >
2014-03-16 22:03:53 -04:00
< / div >
< / div >
2014-07-13 04:12:02 -04:00
{% endexample %}
2014-03-16 22:03:53 -04:00
2014-07-13 04:12:02 -04:00
## Segmented buttons
{% example html %}
< div class = "row" >
< div class = "col-lg-6" >
< div class = "input-group" >
< div class = "input-group-btn" >
< button type = "button" class = "btn btn-secondary" tabindex = "-1" > Action< / button >
< button type = "button" class = "btn btn-secondary dropdown-toggle" data-toggle = "dropdown" tabindex = "-1" >
< span class = "sr-only" > Toggle Dropdown< / span >
< / button >
< ul class = "dropdown-menu" role = "menu" >
< li > < a href = "#" > Action< / a > < / li >
< li > < a href = "#" > Another action< / a > < / li >
< li > < a href = "#" > Something else here< / a > < / li >
< li class = "divider" > < / li >
< li > < a href = "#" > Separated link< / a > < / li >
< / ul >
< / div >
< input type = "text" class = "form-control" >
< / div >
< / div >
< div class = "col-lg-6" >
< div class = "input-group" >
< input type = "text" class = "form-control" >
< div class = "input-group-btn" >
< button type = "button" class = "btn btn-secondary" tabindex = "-1" > Action< / button >
< button type = "button" class = "btn btn-secondary dropdown-toggle" data-toggle = "dropdown" tabindex = "-1" >
< span class = "sr-only" > Toggle Dropdown< / span >
< / button >
< ul class = "dropdown-menu dropdown-menu-right" role = "menu" >
< li > < a href = "#" > Action< / a > < / li >
< li > < a href = "#" > Another action< / a > < / li >
< li > < a href = "#" > Something else here< / a > < / li >
< li class = "divider" > < / li >
< li > < a href = "#" > Separated link< / a > < / li >
< / ul >
< / div >
< / div >
2014-03-16 22:03:53 -04:00
< / div >
< / div >
2014-07-13 04:12:02 -04:00
{% endexample %}