// Bring the hover, focused, and "active" buttons to the front to overlay
// the borders properly
- > .btn-toggle:checked + .btn,
- > .btn-toggle:focus + .btn,
+ > .btn-check:checked + .btn,
+ > .btn-check:focus + .btn,
> .btn:hover,
> .btn:focus,
> .btn:active,
// - Target second buttons which are not part of toggle buttons
// - Target third or more child
// - Target buttons in a button group
- > :not(.btn-toggle) + .btn,
+ > :not(.btn-check) + .btn,
> .btn:nth-child(n + 3),
> .btn-group:not(:first-child) > .btn {
@include border-left-radius(0);
text-decoration: if($link-hover-decoration == underline, none, null);
}
- .btn-toggle:focus + &,
+ .btn-check:focus + &,
&:focus {
outline: 0;
box-shadow: $btn-focus-box-shadow;
}
- .btn-toggle:checked + &,
- .btn-toggle:active + &,
+ .btn-check:checked + &,
+ .btn-check:active + &,
&:active,
&.active {
@include box-shadow($btn-active-box-shadow);
margin-right: $form-check-inline-margin-right;
}
-.btn-toggle {
+.btn-check {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
border-color: $hover-border;
}
- .btn-toggle:focus + &,
+ .btn-check:focus + &,
&:focus {
color: $hover-color;
@include gradient-bg($hover-background);
}
}
- .btn-toggle:checked + &,
- .btn-toggle:active + &,
+ .btn-check:checked + &,
+ .btn-check:active + &,
&:active,
&.active,
.show > &.dropdown-toggle {
border-color: $active-border;
}
- .btn-toggle:focus + &,
+ .btn-check:focus + &,
&:focus {
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
}
- .btn-toggle:checked + &,
- .btn-toggle:active + &,
+ .btn-check:checked + &,
+ .btn-check:active + &,
&:active,
&.active,
&.dropdown-toggle.show {
## Button plugin
-Do more with buttons. Control button states or create groups of buttons for more components like toolbars.
+The button plugin allows you to create simple on/off toggle buttons.
### Toggle states
### Checkbox toggle buttons
-Bootstrap's `.btn` styles can be applied to `<label>`s, to provide checkbox style button toggling. Add an input with a `.btn-toggle` class as previous sibling to toggle the input state.
+Bootstrap's `.btn` styles can be applied to `<label>`s, to provide checkbox style button toggling. Add an input with a `.btn-check` class as previous sibling to toggle the input state.
{{< example >}}
-<input type="checkbox" class="btn-toggle" id="btn-toggle" autocomplete="off">
-<label class="btn btn-primary" for="btn-toggle">Single toggle</label>
+<input type="checkbox" class="btn-check" id="btn-check" autocomplete="off">
+<label class="btn btn-primary" for="btn-check">Single toggle</label>
{{< /example >}}
{{< example >}}
-<input type="checkbox" class="btn-toggle" id="btn-toggle-2" checked autocomplete="off">
-<label class="btn btn-primary" for="btn-toggle-2">Checked</label>
+<input type="checkbox" class="btn-check" id="btn-check-2" checked autocomplete="off">
+<label class="btn btn-primary" for="btn-check-2">Checked</label>
{{< /example >}}
### Radio toggle buttons
{{< example >}}
<div class="btn-group">
- <input type="radio" class="btn-toggle" name="options" id="option1" autocomplete="off" checked>
+ <input type="radio" class="btn-check" name="options" id="option1" autocomplete="off" checked>
<label class="btn btn-secondary" for="option1">Checked</label>
- <input type="radio" class="btn-toggle" name="options" id="option2" autocomplete="off">
+ <input type="radio" class="btn-check" name="options" id="option2" autocomplete="off">
<label class="btn btn-secondary" for="option2">Radio</label>
- <input type="radio" class="btn-toggle" name="options" id="option3" autocomplete="off">
+ <input type="radio" class="btn-check" name="options" id="option3" autocomplete="off">
<label class="btn btn-secondary" for="option3">Radio</label>
</div>
{{< /example >}}
### Outlined styles
{{< example >}}
-<input type="checkbox" class="btn-toggle" id="btn-toggle-outlined" autocomplete="off">
-<label class="btn btn-outline-primary" for="btn-toggle-outlined">Single toggle</label><br>
+<input type="checkbox" class="btn-check" id="btn-check-outlined" autocomplete="off">
+<label class="btn btn-outline-primary" for="btn-check-outlined">Single toggle</label><br>
-<input type="checkbox" class="btn-toggle" id="btn-toggle-2-outlined" checked autocomplete="off">
-<label class="btn btn-outline-secondary" for="btn-toggle-2-outlined">Checked</label><br>
+<input type="checkbox" class="btn-check" id="btn-check-2-outlined" checked autocomplete="off">
+<label class="btn btn-outline-secondary" for="btn-check-2-outlined">Checked</label><br>
<div class="btn-group">
- <input type="radio" class="btn-toggle" name="options-outlined" id="success-outlined" autocomplete="off" checked>
+ <input type="radio" class="btn-check" name="options-outlined" id="success-outlined" autocomplete="off" checked>
<label class="btn btn-outline-success" for="success-outlined">Checked success radio</label>
- <input type="radio" class="btn-toggle" name="options-outlined" id="danger-outlined" autocomplete="off">
+ <input type="radio" class="btn-check" name="options-outlined" id="danger-outlined" autocomplete="off">
<label class="btn btn-outline-danger" for="danger-outlined">Danger radio</label>
</div>
{{< /example >}}
### Buttons
-- The checkbox/radio toggle is removed from the button plugin in favour of a CSS only solution, which is documented in the [form checks]({{< docsref "/forms/checks#toggle-buttons" >}}) docs. The `.btn-toggle` class can be added to inputs, any label with `.btn` and modifier class can be used to theme the labels. [See #30650](https://github.com/twbs/bootstrap/pull/30650).
+- The checkbox/radio toggle is removed from the button plugin in favour of a CSS only solution, which is documented in the [form checks]({{< docsref "/forms/checks#toggle-buttons" >}}) docs. The `.btn-check` class can be added to inputs, any label with `.btn` and modifier class can be used to theme the labels. [See #30650](https://github.com/twbs/bootstrap/pull/30650).
### Cards