extends ../../_layout/default.pug
block canonical
link(rel='canonical' href='https://coreui.io/docs/forms/input-group/')
block breadcrumb
+breadcrumb(
[
{ href: '#', label: 'Home'},
{ label: 'Components'},
{ label: 'Forms'},
'Input group'
]
)
block view
+docs-components('https://coreui.io/docs/forms/input-group/')
.row
.col-12
.card.mb-4
.card-header
strong Input group
span.small.ms-1 Basic example
.card-body
p.text-body-secondary.small
| Place one add-on or button on either side of an input. You may also place one on both sides of an input. Remember to place
code
= '<label>'
| s outside the input group.
+example('https://coreui.io/docs/forms/input-group/#basic-example')
.input-group.mb-3
span.input-group-text#basic-addon1 @
input.form-control(type='text' placeholder='Username' aria-label='Username' aria-describedby='basic-addon1')
.input-group.mb-3
input.form-control(type='text' placeholder='Recipient\'s username' aria-label='Recipient\'s username' aria-describedby='basic-addon2')
span.input-group-text#basic-addon2 @example.com
label.form-label(for='basic-url') Your vanity URL
.input-group.mb-3
span.input-group-text#basic-addon3 https://example.com/users/
input.form-control#basic-url(type='text' aria-describedby='basic-addon3')
.input-group.mb-3
span.input-group-text $
input.form-control(type='text' aria-label='Amount (to the nearest dollar)')
span.input-group-text .00
.input-group.mb-3
input.form-control(type='text' placeholder='Username' aria-label='Username')
span.input-group-text @
input.form-control(type='text' placeholder='Server' aria-label='Server')
.input-group
span.input-group-text With textarea
textarea.form-control(aria-label='With textarea')
.col-12
.card.mb-4
.card-header
strong Input group
span.small.ms-1 Wrapping
.card-body
p.text-body-secondary.small
| Input groups wrap by default via
code flex-wrap: wrap
| in order to accommodate custom form field validation within an input group. You may disable this with
code .flex-nowrap
| .
+example('https://coreui.io/docs/forms/input-group/#wrapping')
.input-group.flex-nowrap
span.input-group-text#addon-wrapping @
input.form-control(type='text' placeholder='Username' aria-label='Username' aria-describedby='addon-wrapping')
.col-12
.card.mb-4
.card-header
strong Input group
span.small.ms-1 Sizing
.card-body
p.text-body-secondary.small
| Add the relative form sizing classes to the
code .input-group
| itself and contents within will automatically resize—no need for repeating the form control size classes on each element.
p.text-body-secondary.small
strong Sizing on the individual input group elements isn’t supported.
+example('https://coreui.io/docs/forms/input-group/#sizing')
.input-group.input-group-sm.mb-3
span.input-group-text#inputGroup-sizing-sm Small
input.form-control(type='text' aria-label='Sizing example input' aria-describedby='inputGroup-sizing-sm')
.input-group.mb-3
span.input-group-text#inputGroup-sizing-default Default
input.form-control(type='text' aria-label='Sizing example input' aria-describedby='inputGroup-sizing-default')
.input-group.input-group-lg
span.input-group-text#inputGroup-sizing-lg Large
input.form-control(type='text' aria-label='Sizing example input' aria-describedby='inputGroup-sizing-lg')
.col-12
.card.mb-4
.card-header
strong Input group
span.small.ms-1 Checkboxes and radios
.card-body
p.text-body-secondary.small
| Place any checkbox or radio option within an input group’s addon instead of text. We recommend adding
code .mt-0
| to the
code .form-check-input
| when there’s no visible text next to the input.
+example('https://coreui.io/docs/forms/input-group/#checkboxes-and-radios')
.input-group.mb-3
.input-group-text
input.form-check-input.mt-0(type='checkbox' aria-label='Checkbox for following text input')
input.form-control(type='text' aria-label='Text input with checkbox')
.input-group
.input-group-text
input.form-check-input.mt-0(type='radio' aria-label='Radio button for following text input')
input.form-control(type='text' aria-label='Text input with radio button')
.col-12
.card.mb-4
.card-header
strong Input group
span.small.ms-1 Multiple inputs
.card-body
p.text-body-secondary.small
| While multiple
code
= '<input>'
| s are supported visually, validation styles are only available for input groups with a single
code
= '<input>'
| .
+example('https://coreui.io/docs/forms/input-group/#multiple-inputs')
.input-group
span.input-group-text First and last name
input.form-control(type='text' aria-label='First name')
input.form-control(type='text' aria-label='Last name')
.col-12
.card.mb-4
.card-header
strong Input group
span.small.ms-1 Multiple addons
.card-body
p.text-body-secondary.small Multiple add-ons are supported and can be mixed with checkbox and radio input versions.
+example('https://coreui.io/docs/forms/input-group/#multiple-addons')
.input-group.mb-3
span.input-group-text $
span.input-group-text 0.00
input.form-control(type='text' aria-label='Dollar amount (with dot and two decimal places)')
.input-group
input.form-control(type='text' aria-label='Dollar amount (with dot and two decimal places)')
span.input-group-text $
span.input-group-text 0.00
.col-12
.card.mb-4
.card-header
strong Input group
span.small.ms-1 Button addons
.card-body
+example('https://coreui.io/docs/forms/input-group/#button-addons')
.input-group.mb-3
button.btn.btn-outline-secondary#button-addon1(type='button') Button
input.form-control(type='text' placeholder aria-label='Example text with button addon' aria-describedby='button-addon1')
.input-group.mb-3
input.form-control(type='text' placeholder='Recipient\'s username' aria-label='Recipient\'s username' aria-describedby='button-addon2')
button.btn.btn-outline-secondary#button-addon2(type='button') Button
.input-group.mb-3
button.btn.btn-outline-secondary(type='button') Button
button.btn.btn-outline-secondary(type='button') Button
input.form-control(type='text' placeholder aria-label='Example text with two button addons')
.input-group
input.form-control(type='text' placeholder='Recipient\'s username' aria-label='Recipient\'s username with two button addons')
button.btn.btn-outline-secondary(type='button') Button
button.btn.btn-outline-secondary(type='button') Button
.col-12
.card.mb-4
.card-header
strong Input group
span.small.ms-1 Buttons with dropdowns
.card-body
+example('https://coreui.io/docs/forms/input-group/#buttons-with-dropdowns')
.input-group.mb-3
button.btn.btn-outline-secondary.dropdown-toggle(type='button' data-coreui-toggle='dropdown' aria-expanded='false') Dropdown
ul.dropdown-menu
li
a.dropdown-item(href='#') Action
li
a.dropdown-item(href='#') Another action
li
a.dropdown-item(href='#') Something else here
li
hr.dropdown-divider
li
a.dropdown-item(href='#') Separated link
input.form-control(type='text' aria-label='Text input with dropdown button')
.input-group.mb-3
input.form-control(type='text' aria-label='Text input with dropdown button')
button.btn.btn-outline-secondary.dropdown-toggle(type='button' data-coreui-toggle='dropdown' aria-expanded='false') Dropdown
ul.dropdown-menu.dropdown-menu-end
li
a.dropdown-item(href='#') Action
li
a.dropdown-item(href='#') Another action
li
a.dropdown-item(href='#') Something else here
li
hr.dropdown-divider
li
a.dropdown-item(href='#') Separated link
.input-group
button.btn.btn-outline-secondary.dropdown-toggle(type='button' data-coreui-toggle='dropdown' aria-expanded='false') Dropdown
ul.dropdown-menu
li
a.dropdown-item(href='#') Action before
li
a.dropdown-item(href='#') Another action before
li
a.dropdown-item(href='#') Something else here
li
hr.dropdown-divider
li
a.dropdown-item(href='#') Separated link
input.form-control(type='text' aria-label='Text input with 2 dropdown buttons')
button.btn.btn-outline-secondary.dropdown-toggle(type='button' data-coreui-toggle='dropdown' aria-expanded='false') Dropdown
ul.dropdown-menu.dropdown-menu-end
li
a.dropdown-item(href='#') Action
li
a.dropdown-item(href='#') Another action
li
a.dropdown-item(href='#') Something else here
li
hr.dropdown-divider
li
a.dropdown-item(href='#') Separated link
.col-12
.card.mb-4
.card-header
strong Input group
span.small.ms-1 Segmented buttons
.card-body
+example('https://coreui.io/docs/forms/input-group/#segmented-buttons')
.input-group.mb-3
button.btn.btn-outline-secondary(type='button') Action
button.btn.btn-outline-secondary.dropdown-toggle.dropdown-toggle-split(type='button' data-coreui-toggle='dropdown' aria-expanded='false')
span.visually-hidden Toggle Dropdown
ul.dropdown-menu
li
a.dropdown-item(href='#') Action
li
a.dropdown-item(href='#') Another action
li
a.dropdown-item(href='#') Something else here
li
hr.dropdown-divider
li
a.dropdown-item(href='#') Separated link
input.form-control(type='text' aria-label='Text input with segmented dropdown button')
.input-group
input.form-control(type='text' aria-label='Text input with segmented dropdown button')
button.btn.btn-outline-secondary(type='button') Action
button.btn.btn-outline-secondary.dropdown-toggle.dropdown-toggle-split(type='button' data-coreui-toggle='dropdown' aria-expanded='false')
span.visually-hidden Toggle Dropdown
ul.dropdown-menu.dropdown-menu-end
li
a.dropdown-item(href='#') Action
li
a.dropdown-item(href='#') Another action
li
a.dropdown-item(href='#') Something else here
li
hr.dropdown-divider
li
a.dropdown-item(href='#') Separated link
.row
.col-12
.card.mb-4
.card-header
strong Custom forms
span.small.ms-1 Custom select
.card-body
+example('https://coreui.io/docs/forms/input-group/#custom-select')
.input-group.mb-3
label.input-group-text(for='inputGroupSelect01') Options
select.form-select#inputGroupSelect01
option(selected) Choose...
option(value='1') One
option(value='2') Two
option(value='3') Three
.input-group.mb-3
select.form-select#inputGroupSelect02
option(selected) Choose...
option(value='1') One
option(value='2') Two
option(value='3') Three
label.input-group-text(for='inputGroupSelect02') Options
.input-group.mb-3
button.btn.btn-outline-secondary(type='button') Button
select.form-select#inputGroupSelect03(aria-label='Example select with button addon')
option(selected) Choose...
option(value='1') One
option(value='2') Two
option(value='3') Three
.input-group
select.form-select#inputGroupSelect04(aria-label='Example select with button addon')
option(selected) Choose...
option(value='1') One
option(value='2') Two
option(value='3') Three
button.btn.btn-outline-secondary(type='button') Button
.col-12
.card.mb-4
.card-header
strong Custom forms
span.small.ms-1 Custom file input
.card-body
+example('https://coreui.io/docs/forms/input-group/#custom-file-input')
.input-group.mb-3
label.input-group-text(for='inputGroupFile01') Upload
input.form-control#inputGroupFile01(type='file')
.input-group.mb-3
input.form-control#inputGroupFile02(type='file')
label.input-group-text(for='inputGroupFile02') Upload
.input-group.mb-3
button.btn.btn-outline-secondary#inputGroupFileAddon03(type='button') Button
input.form-control#inputGroupFile03(type='file' aria-describedby='inputGroupFileAddon03' aria-label='Upload')
.input-group
input.form-control#inputGroupFile04(type='file' aria-describedby='inputGroupFileAddon04' aria-label='Upload')
button.btn.btn-outline-secondary#inputGroupFileAddon04(type='button') Button