info@54: // info@54: // Input groups info@54: // -------------------------------------------------- info@54: info@54: // Base styles info@54: // ------------------------- info@54: .input-group { info@54: position: relative; // For dropdowns info@54: display: table; info@54: border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table info@54: info@54: // Undo padding and float of grid classes info@54: &[class*="col-"] { info@54: float: none; info@54: padding-left: 0; info@54: padding-right: 0; info@54: } info@54: info@54: .form-control { info@54: width: 100%; info@54: margin-bottom: 0; info@54: } info@54: } info@54: info@54: // Sizing options info@54: // info@54: // Remix the default form control sizing classes into new ones for easier info@54: // manipulation. info@54: info@54: .input-group-lg > .form-control, info@54: .input-group-lg > .input-group-addon, info@54: .input-group-lg > .input-group-btn > .btn { .input-lg(); } info@54: .input-group-sm > .form-control, info@54: .input-group-sm > .input-group-addon, info@54: .input-group-sm > .input-group-btn > .btn { .input-sm(); } info@54: info@54: info@54: // Display as table-cell info@54: // ------------------------- info@54: .input-group-addon, info@54: .input-group-btn, info@54: .input-group .form-control { info@54: display: table-cell; info@54: info@54: &:not(:first-child):not(:last-child) { info@54: border-radius: 0; info@54: } info@54: } info@54: // Addon and addon wrapper for buttons info@54: .input-group-addon, info@54: .input-group-btn { info@54: width: 1%; info@54: white-space: nowrap; info@54: vertical-align: middle; // Match the inputs info@54: } info@54: info@54: // Text input groups info@54: // ------------------------- info@54: .input-group-addon { info@54: padding: @padding-base-vertical @padding-base-horizontal; info@54: font-size: @font-size-base; info@54: font-weight: normal; info@54: line-height: 1; info@54: color: @input-color; info@54: text-align: center; info@54: background-color: @input-group-addon-bg; info@54: border: 1px solid @input-group-addon-border-color; info@54: border-radius: @border-radius-base; info@54: info@54: // Sizing info@54: &.input-sm { info@54: padding: @padding-small-vertical @padding-small-horizontal; info@54: font-size: @font-size-small; info@54: border-radius: @border-radius-small; info@54: } info@54: &.input-lg { info@54: padding: @padding-large-vertical @padding-large-horizontal; info@54: font-size: @font-size-large; info@54: border-radius: @border-radius-large; info@54: } info@54: info@54: // Nuke default margins from checkboxes and radios to vertically center within. info@54: input[type="radio"], info@54: input[type="checkbox"] { info@54: margin-top: 0; info@54: } info@54: } info@54: info@54: // Reset rounded corners info@54: .input-group .form-control:first-child, info@54: .input-group-addon:first-child, info@54: .input-group-btn:first-child > .btn, info@54: .input-group-btn:first-child > .dropdown-toggle, info@54: .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { info@54: .border-right-radius(0); info@54: } info@54: .input-group-addon:first-child { info@54: border-right: 0; info@54: } info@54: .input-group .form-control:last-child, info@54: .input-group-addon:last-child, info@54: .input-group-btn:last-child > .btn, info@54: .input-group-btn:last-child > .dropdown-toggle, info@54: .input-group-btn:first-child > .btn:not(:first-child) { info@54: .border-left-radius(0); info@54: } info@54: .input-group-addon:last-child { info@54: border-left: 0; info@54: } info@54: info@54: // Button input groups info@54: // ------------------------- info@54: .input-group-btn { info@54: position: relative; info@54: white-space: nowrap; info@54: info@54: // Negative margin to only have a 1px border between the two info@54: &:first-child > .btn { info@54: margin-right: -1px; info@54: } info@54: &:last-child > .btn { info@54: margin-left: -1px; info@54: } info@54: } info@54: .input-group-btn > .btn { info@54: position: relative; info@54: // Jankily prevent input button groups from wrapping info@54: + .btn { info@54: margin-left: -4px; info@54: } info@54: // Bring the "active" button to the front info@54: &:hover, info@54: &:active { info@54: z-index: 2; info@54: } info@54: }