Merge pull request #9424 from twbs/bs3_btn_groups

BS3: `.btn-group`s for your `.btn-group`s
This commit is contained in:
Mark Otto 2013-08-13 10:31:29 -07:00
commit d4b14cbf44
4 changed files with 139 additions and 19 deletions

View File

@ -233,8 +233,48 @@ base_url: "../"
<div class="btn-group-vertical"> <div class="btn-group-vertical">
<button type="button" class="btn btn-default">Button</button> <button type="button" class="btn btn-default">Button</button>
<button type="button" class="btn btn-default">Button</button> <button type="button" class="btn btn-default">Button</button>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
<button type="button" class="btn btn-default">Button</button> <button type="button" class="btn btn-default">Button</button>
<button type="button" class="btn btn-default">Button</button> <button type="button" class="btn btn-default">Button</button>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Dropdown link</a></li>
<li><a href="#">Dropdown link</a></li>
</ul>
</div>
</div> </div>
</div> </div>
{% highlight html %} {% highlight html %}

View File

@ -3551,27 +3551,73 @@ button.close {
border-bottom-width: 5px; border-bottom-width: 5px;
} }
.btn-group-vertical > .btn { .btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
display: block; display: block;
float: none; float: none;
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
} }
.btn-group-vertical > .btn + .btn { .btn-group-vertical > .btn-group:before,
margin-top: -1px; .btn-group-vertical > .btn-group:after {
display: table;
content: " ";
} }
.btn-group-vertical .btn:not(:first-child):not(:last-child) { .btn-group-vertical > .btn-group:after {
clear: both;
}
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after {
display: table;
content: " ";
}
.btn-group-vertical > .btn-group:after {
clear: both;
}
.btn-group-vertical > .btn-group > .btn {
float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
margin-top: -1px;
margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
border-radius: 0; border-radius: 0;
} }
.btn-group-vertical .btn:first-child:not(:last-child) { .btn-group-vertical > .btn:first-child:not(:last-child) {
border-top-right-radius: 4px;
border-bottom-right-radius: 0; border-bottom-right-radius: 0;
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
} }
.btn-group-vertical .btn:last-child:not(:first-child) { .btn-group-vertical > .btn:last-child:not(:first-child) {
border-top-right-radius: 0;
border-bottom-left-radius: 4px;
border-top-left-radius: 0;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child > .btn:last-child,
.btn-group-vertical > .btn-group:first-child > .dropdown-toggle {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child > .btn:first-child {
border-top-right-radius: 0; border-top-right-radius: 0;
border-top-left-radius: 0; border-top-left-radius: 0;
} }

File diff suppressed because one or more lines are too long

View File

@ -55,11 +55,13 @@
} }
// Prevent double borders when buttons are next to each other // Prevent double borders when buttons are next to each other
.btn-group .btn + .btn, .btn-group {
.btn-group .btn + .btn-group, .btn + .btn,
.btn-group .btn-group + .btn, .btn + .btn-group,
.btn-group .btn-group + .btn-group { .btn-group + .btn,
margin-left: -1px; .btn-group + .btn-group {
margin-left: -1px;
}
} }
// Optional: Group multiple button groups together for a toolbar // Optional: Group multiple button groups together for a toolbar
@ -166,26 +168,58 @@
// Vertical button groups // Vertical button groups
// ---------------------- // ----------------------
.btn-group-vertical > .btn { .btn-group-vertical {
display: block; > .btn,
float: none; > .btn-group {
width: 100%; display: block;
max-width: 100%; float: none;
+ .btn { width: 100%;
max-width: 100%;
}
// Clear floats so dropdown menus can be properly placed
> .btn-group {
.clearfix();
> .btn {
float: none;
}
}
> .btn + .btn,
> .btn + .btn-group,
> .btn-group + .btn,
> .btn-group + .btn-group {
margin-top: -1px; margin-top: -1px;
margin-left: 0;
} }
} }
.btn-group-vertical .btn {
.btn-group-vertical > .btn {
&:not(:first-child):not(:last-child) { &:not(:first-child):not(:last-child) {
border-radius: 0; border-radius: 0;
} }
&:first-child:not(:last-child) { &:first-child:not(:last-child) {
border-top-right-radius: @border-radius-base;
.border-bottom-radius(0); .border-bottom-radius(0);
} }
&:last-child:not(:first-child) { &:last-child:not(:first-child) {
border-bottom-left-radius: @border-radius-base;
.border-top-radius(0); .border-top-radius(0);
} }
} }
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child {
> .btn:last-child,
> .dropdown-toggle {
.border-bottom-radius(0);
}
}
.btn-group-vertical > .btn-group:last-child > .btn:first-child {
.border-top-radius(0);
}
// Justified button groups // Justified button groups