// // Button groups // -------------------------------------------------- // Make the div behave like a button .btn-group { margin-right: 3px; position: relative; white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page) } // Optional: Group multiple button groups together for a toolbar .btn-toolbar { .btn-group { display: inline-block; } * { margin-right: 3px; } *:last-child { margin-right: 0; } } // Float them, remove border radius, then re-add to first and last elements .btn-group > * { border-radius: 0; position: relative; margin-right: 0; } .btn-group > * + * { margin-left: -1px; } // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match .btn-group > .btn:first-child { border-top-left-radius: var(--btn-border-radius, 3px); border-bottom-left-radius: var(--btn-border-radius, 3px); } // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it .btn-group > .btn:last-child, .btn-group > .dropdown-toggle { border-top-right-radius: var(--btn-border-radius, 3px); border-bottom-right-radius: var(--btn-border-radius, 3px); } // On hover/focus/active, bring the proper btn to front .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active { z-index: 2; }