Developed by Codescandy
Input Group
Examples and usage guidelines for form control styles, layout options, and custom components for creating a wide variety of forms.
Default Input
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 <label>
s outside the input group.
Input
@
@example.com
https://example.com/users/
$.00
@
With textarea
<InputGroup className="mb-3">
<InputGroup.Text id="basic-addon1">@</InputGroup.Text>
<Form.Control type="text" placeholder="Username" />
</InputGroup>
<InputGroup className="mb-3">
<Form.Control type="text" placeholder="Recipient's username" />
<InputGroup.Text id="basic-addon2">@example.com</InputGroup.Text>
</InputGroup>
<Form.Label htmlFor="basic-url">Your vanity URL</Form.Label>
<InputGroup className="mb-3">
<InputGroup.Text id="basic-addon3">https://example.com/users/</InputGroup.Text>
<Form.Control type="text" id="basic-url" />
</InputGroup>
<InputGroup className=" mb-3">
<InputGroup.Text className="input-group-text">$</InputGroup.Text>
<Form.Control type="text" />
<InputGroup.Text>.00</InputGroup.Text>
</InputGroup>
<InputGroup className="mb-3">
<Form.Control type="text" placeholder="Username" />
<InputGroup.Text>@</InputGroup.Text>
<Form.Control type="text" placeholder="Server" />
</InputGroup>
<InputGroup>
<InputGroup.Text className="input-group-text">With textarea</InputGroup.Text>
<Form.Control as="textarea" rows={2} />
</InputGroup>
Options
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.
Small
Default
Large
<InputGroup size="sm" className="mb-3">
<InputGroup.Text id="inputGroup-sizing-sm">Small</InputGroup.Text>
<Form.Control type="text" />
</InputGroup>
<InputGroup className="mb-3">
<InputGroup.Text id="inputGroup-sizing-default">Default</InputGroup.Text>
<Form.Control type="text" />
</InputGroup>
<InputGroup size="lg">
<InputGroup.Text id="inputGroup-sizing-lg">Large</InputGroup.Text>
<Form.Control type="text" />
</InputGroup>
Multiple input
While multiple <input>
s are supported visually, validation styles are only available for input groups with a single <input>
.
Multiple addons
Multiple add-ons are supported and can be mixed with checkbox and radio input versions.
$0.00
$0.00
<InputGroup className="mb-3">
<InputGroup.Text>$</InputGroup.Text>
<InputGroup.Text>0.00</InputGroup.Text>
<Form.Control type="text" />
</InputGroup>
<InputGroup>
<Form.Control type="text" />
<InputGroup.Text>$</InputGroup.Text>
<InputGroup.Text>0.00</InputGroup.Text>
</InputGroup>
Button addons
<InputGroup className="mb-3">
<Button variant="outline-secondary" type="button" id="button-addon1">Button</Button>
<Form.Control type="text" placeholder="" />
</InputGroup>
<InputGroup className="mb-3">
<Form.Control type="text" placeholder="Recipient's username" />
<Button variant="outline-secondary" type="button" id="button-addon2">Button</Button>
</InputGroup>
<InputGroup className="mb-3">
<Button variant="outline-secondary" type="button">Button</Button>
<Button variant="outline-secondary" type="button">Button</Button>
<Form.Control type="text" placeholder="" />
</InputGroup>
<InputGroup>
<Form.Control type="text" placeholder="Recipient's username"/>
<Button variant="outline-secondary">Button</Button>
<Button variant="outline-secondary">Button</Button>
</InputGroup>
Buttons with dropdowns
<InputGroup className="mb-3">
<Dropdown>
<Dropdown.Toggle variant="outline-secondary ">Dropdown</Dropdown.Toggle>
<Dropdown.Menu>
<Dropdown.Item href="">Action</Dropdown.Item>
<Dropdown.Item href="">Another action</Dropdown.Item>
<Dropdown.Item href="">Something else here</Dropdown.Item>
<Dropdown.Divider />
<Dropdown.Item href="">Separated link</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
<Form.Control type="text" />
</InputGroup>
<InputGroup className="mb-3">
<Form.Control type="text" />
<Dropdown>
<Dropdown.Toggle variant="outline-secondary ">Dropdown</Dropdown.Toggle>
<Dropdown.Menu>
<Dropdown.Item href="">Action</Dropdown.Item>
<Dropdown.Item href="">Another action</Dropdown.Item>
<Dropdown.Item href="">Something else here</Dropdown.Item>
<Dropdown.Divider />
<Dropdown.Item href="">Separated link</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
</InputGroup>
<InputGroup>
<Dropdown>
<Dropdown.Toggle variant="outline-secondary ">Dropdown</Dropdown.Toggle>
<Dropdown.Menu>
<Dropdown.Item href="">Action</Dropdown.Item>
<Dropdown.Item href="">Another action</Dropdown.Item>
<Dropdown.Item href="">Something else here</Dropdown.Item>
<Dropdown.Divider />
<Dropdown.Item href="">Separated link</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
<Form.Control type="text" />
<Dropdown>
<Dropdown.Toggle variant="outline-secondary ">Dropdown</Dropdown.Toggle>
<Dropdown.Menu className="dropdown-menu-end">
<Dropdown.Item href="">Action</Dropdown.Item>
<Dropdown.Item href="">Another action</Dropdown.Item>
<Dropdown.Item href="">Something else here</Dropdown.Item>
<Dropdown.Divider />
<Dropdown.Item href="">Separated link</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
</InputGroup>
Segmented buttons
<InputGroup className="mb-3">
<Button variant="outline-secondary">Action</Button>
<Dropdown drop="down">
<Dropdown.Toggle variant="outline-secondary" split />
<Dropdown.Menu>
<Dropdown.Item href="">Action</Dropdown.Item>
<Dropdown.Item href="">Another action</Dropdown.Item>
<Dropdown.Item href="">Something else here</Dropdown.Item>
<Dropdown.Divider />
<Dropdown.Item href="">Separated link</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
<Form.Control type="text" />
</InputGroup>
<InputGroup className="mb-3">
<Form.Control type="text" />
<Button variant="outline-secondary">Action</Button>
<Dropdown drop="down">
<Dropdown.Toggle variant="outline-secondary" split />
<Dropdown.Menu className="dropdown-menu-end">
<Dropdown.Item href="">Action</Dropdown.Item>
<Dropdown.Item href="">Another action</Dropdown.Item>
<Dropdown.Item href="">Something else here</Dropdown.Item>
<Dropdown.Divider />
<Dropdown.Item href="">Separated link</Dropdown.Item>
</Dropdown.Menu>
</Dropdown>
</InputGroup>
Custom select
Options
Options
<InputGroup className="input-group mb-3">
<InputGroup.Text htmlFor="inputGroupSelect01">Options</InputGroup.Text>
<Form.Select id="inputGroupSelect01">
<option value="">Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</Form.Select>
</InputGroup>
<InputGroup className=" mb-3">
<Form.Select id="inputGroupSelect02">
<option value="">Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</Form.Select>
<InputGroup.Text htmlFor="inputGroupSelect02">Options</InputGroup.Text>
</InputGroup>
<InputGroup className=" mb-3">
<Button variant="outline-secondary" type="button">Button</Button>
<Form.Select id="inputGroupSelect03">
<option value="">Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</Form.Select>
</InputGroup>
<InputGroup>
<Form.Select id="inputGroupSelect04">
<option value="">Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</Form.Select>
<Button variant="outline-secondary" type="button">Button</Button>
</InputGroup>
Custom file input
Upload
Upload
<InputGroup className="mb-3">
<InputGroup.Text htmlFor="inputGroupFile01">Upload</InputGroup.Text>
<Form.Control type="file" id="inputGroupFile01" />
</InputGroup>
<InputGroup className=" mb-3">
<Form.Control type="file" id="inputGroupFile02" />
<InputGroup.Text htmlFor="inputGroupFile02">Upload</InputGroup.Text>
</InputGroup>
<InputGroup className=" mb-3">
<Button variant="outline-secondary" type="button" id="inputGroupFileAddon03">Button</Button>
<Form.Control type="file" id="inputGroupFile03" />
</InputGroup>
<InputGroup>
<Form.Control type="file" id="inputGroupFile04" />
<Button variant="outline-secondary" type="button" id="inputGroupFileAddon04">Button</Button>
</InputGroup>