diff options
author | Mark Otto <markdotto@gmail.com> | 2013-05-11 03:35:25 +0400 |
---|---|---|
committer | Mark Otto <markdotto@gmail.com> | 2013-05-11 03:35:25 +0400 |
commit | 8051695c87d7420862307090ac49ca2d1e74b40b (patch) | |
tree | 2256f1e5614457e850068818d734249a72ee7729 /less | |
parent | 76ecfdfdc1ef06997eafdeef68d7a9a945614af3 (diff) | |
parent | 579d566299c82fe91e5202b30ec2b2b062e0d902 (diff) |
Merge pull request #7838 from blakeembrey/btn-group-radius
Remove the overrides and resets from button groups
Diffstat (limited to 'less')
-rw-r--r-- | less/button-groups.less | 66 |
1 files changed, 28 insertions, 38 deletions
diff --git a/less/button-groups.less b/less/button-groups.less index 6f9a52acd8..bac8c06b4e 100644 --- a/less/button-groups.less +++ b/less/button-groups.less @@ -11,17 +11,14 @@ } // Make the div behave like a button -.btn-group { +.btn-group, +.btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; // match .btn alignment given font-size hack above > .btn { position: relative; float: left; - // Prevent double borders when buttons are next to each other - + btn { - margin-left: -1px; - } // Bring the "active" button to the front &:hover, &:active { @@ -30,6 +27,11 @@ } } +// Prevent double borders when buttons are next to each other +.btn-group .btn + .btn { + margin-left: -1px; +} + // Optional: Group multiple button groups together for a toolbar .btn-toolbar { .clearfix(); @@ -46,46 +48,36 @@ } } -// Float them, remove border radius, then re-add to first and last elements -.btn-group > .btn { - position: relative; +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } - // 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 { margin-left: 0; - .border-left-radius(@border-radius-base); + &:not(:last-child):not(.dropdown-toggle) { + .border-right-radius(0); + } } // 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-right-radius(@border-radius-base); -} -// Reset corners for large buttons -.btn-group > .btn.large:first-child { - margin-left: 0; - .border-left-radius(@border-radius-large); -} -.btn-group > .btn.large:last-child, -.btn-group > .large.dropdown-toggle { - .border-right-radius(@border-radius-large); +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + .border-left-radius(0); } // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) .btn-group > .btn-group { float: left; } -.btn-group > .btn-group > .btn { +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } -.btn-group > .btn-group:last-child > .btn { - .border-right-radius(@border-radius-base); +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + .border-right-radius(0); } -.btn-group > .btn-group:first-child > .btn { - margin-left: 0; - .border-left-radius(@border-radius-base); +.btn-group > .btn-group:last-child > .btn:first-child { + .border-left-radius(0); } // On active and open, don't show outline @@ -143,20 +135,18 @@ float: none; width: 100%; max-width: 100%; + + .btn { + margin-top: -1px; + } +} +.btn-group-vertical .btn:not(:first-child):not(:last-child) { + border-radius: 0; } .btn-group-vertical .btn:first-child { - border-radius: 0; // Needs to be here for specificity since we're not zeroing them out again - .border-top-radius(@border-radius-base); + .border-bottom-radius(0); } .btn-group-vertical .btn:last-child { - border-radius: 0; // Needs to be here for specificity since we're not zeroing them out again - .border-bottom-radius(@border-radius-base); -} -.btn-group-vertical .btn-large:first-child { - .border-top-radius(@border-radius-large); -} -.btn-group-vertical .btn-large:last-child { - .border-bottom-radius(@border-radius-large); + .border-top-radius(0); } |