<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">Left addon</span>
</div>
<input type="text" class="form-control">
<div class="input-group-append">
<span class="input-group-text">Right addon</span>
</div>
</div>
Click one of the examples listed below to open the Shuffle Visual Editor with the UI library that uses the selected component.
You don't need to remember all CSS classes. Just use the Bootstrap Editor instead.
/* _button-group.scss:41 */
.input-group {
width: auto;
}
/* _input-group.scss:7 */
.input-group {
position: relative;
display: flex;
flex-wrap: wrap; // For form validation feedback
align-items: stretch;
width: 100%;
> .form-control,
> .custom-select,
> .custom-file {
position: relative; // For focus state's z-index
flex: 1 1 auto;
// Add width 1% and flex-basis auto to ensure that button will not wrap out
// the column. Applies to IE Edge+ and Firefox. Chrome does not require this.
width: 1%;
margin-bottom: 0;
+ .form-control,
+ .custom-select,
+ .custom-file {
margin-left: -$input-border-width;
}
}
// Bring the "active" form control to the top of surrounding elements
> .form-control:focus,
> .custom-select:focus,
> .custom-file .custom-file-input:focus ~ .custom-file-label {
z-index: 3;
}
// Bring the custom file input above the label
> .custom-file .custom-file-input:focus {
z-index: 4;
}
> .form-control,
> .custom-select {
&:not(:last-child) { @include border-right-radius(0); }
&:not(:first-child) { @include border-left-radius(0); }
}
// Custom file inputs have more complex markup, thus requiring different
// border-radius overrides.
> .custom-file {
display: flex;
align-items: center;
&:not(:last-child) .custom-file-label,
&:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
&:not(:first-child) .custom-file-label { @include border-left-radius(0); }
}
}
/* _input-group.scss:162 */
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
@include border-right-radius(0);
}
/* _input-group.scss:171 */
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
@include border-left-radius(0);
}
Code copied to the clipboard.
Copying failed
/* _button-group.scss:41 */
/* _input-group.scss:7 */
$input-border-width
/* _input-group.scss:162 */
/* _input-group.scss:171 */