@include box-shadow(var(--#{$prefix}btn-box-shadow));
@include transition($btn-transition);
- &:hover {
+ :not(.btn-check) + &:hover,
+ &:first-child:hover {
color: var(--#{$prefix}btn-hover-color);
text-decoration: if($link-hover-decoration == underline, none, null);
background-color: var(--#{$prefix}btn-hover-bg);
border-color: var(--#{$prefix}btn-hover-border-color);
}
- .btn-check:focus + &,
- &:focus {
+ &:focus-visible {
color: var(--#{$prefix}btn-hover-color);
@include gradient-bg(var(--#{$prefix}btn-hover-bg));
border-color: var(--#{$prefix}btn-hover-border-color);
+ outline: 0;
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows {
box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
}
}
- .btn-check:focus:not(:focus-visible) + &,
- &:focus:not(:focus-visible) {
+ .btn-check:focus-visible + & {
+ border-color: var(--#{$prefix}btn-hover-border-color);
outline: 0;
+ // Avoid using mixin so we can pass custom focus shadow properly
+ @if $enable-shadows {
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
+ } @else {
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
+ }
}
.btn-check:checked + &,
- .btn-check:active + &,
- &:active,
+ :not(.btn-check) + &:active,
+ &:first-child:active,
&.active,
&.show {
color: var(--#{$prefix}btn-active-color);
border-color: var(--#{$prefix}btn-active-border-color);
@include box-shadow(var(--#{$prefix}btn-active-shadow));
- &:focus {
+ &:focus-visible {
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows {
box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
text-decoration: $link-decoration;
&:hover,
- &:focus {
+ &:focus-visible {
text-decoration: $link-hover-decoration;
}
- &:focus {
+ &:focus-visible {
color: var(--#{$prefix}btn-color);
}