Input Addons - Multiple - BS3 Customization

Support multiple prefix/suffix addons in an input group using Twitter Bootstrap author(s): Chris Chilvers

by bizamajig

HTML

<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css">
<div class="container">
    <div class="row space-xs">
        <div class="col-md-4 col-sm-6">
            <div class="input-group">
<!--
                <span class="input-group-addon">A</span>
                <span class="input-group-addon">B</span>
                <span class="input-group-addon">C</span>
-->
                <input class="form-control" />
<!--
                <span class="input-group-addon">X</span>
                <span class="input-group-addon">Y</span>
-->
                <span class="input-group-addon">Z</span>
            </div>
        </div>
    </div>
    <div class="row space-xs">
        <div class="col-md-4 col-sm-6">
            <div class="input-group has-success">
                <span class="input-group-addon">A</span>
                <span class="input-group-addon">B</span>
                <span class="input-group-addon">C</span>
                <input class="form-control">
                <span class="input-group-addon">X</span>
                <span class="input-group-addon">Y</span>
                <span class="input-group-addon">Z</span>
            </div>
        </div>
    </div>
    <div class="row space-xs">
        <div class="col-md-4 col-sm-6">
            <div class="input-group has-warning">
                <span class="input-group-addon">A</span>
                <span class="input-group-addon">B</span>
                <span class="input-group-addon">C</span>
                <input class="form-control">
                <span class="input-group-addon">X</span>
                <span class="input-group-addon">Y</span>
                <span class="input-group-addon">Z</span>
            </div>
        </div>
    </div>
    <div class="row space-xs">
        <div class="col-md-4 col-sm-6">
            <div class="input-group has-error">
                <span class="input-group-addon">A</span>
                <span...

CSS

/* SEE: http://jsfiddle.net/bizamajig/tmSN4/ */
.input-group-addon {
    border-left: 1px none #ccc;
    border-right: 1px none #ccc;
}

.input-group-addon:first-child {
    border-left-style: solid;
}

.input-group-addon:last-child {
    border-left: 1px none #ccc;
    border-right-style: solid;
}

.input-group-addon + .input-group-addon {
    border-left-style: dotted;
}

/* This could be ommitted if the .input-group-addon:last-child did not set "border-left: 0".
Setting "border-left: 0" also resets the border-left-color to black */
.has-success .input-group-addon:last-child { border-color: #468847; }
.has-warning .input-group-addon:last-child { border-color: #C09853; }
.has-error   .input-group-addon:last-child { border-color: #B94A48; }


.row.space-xs {
    margin-top: 4px;
    margin-bottom: 4px;
}

.row.space-sm {
    margin-top: 8px;
    margin-bottom: 8px;
}

.row.space-md {
    margin-top: 14px;
    margin-bottom: 14px;
}

.row.space-lg {
    margin-top: 24px;
    margin-bottom: 24px;
}