mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-02 14:24:19 +01:00
068675c72c
Currently, hovering with mouse or setting focus on a button which is active has same styling as on a non-active button. This results in problems for keyboard users, who set focus on a toggle and activate it, but cannot visually see that their action had any effect. Ditto for mouse users hovering over a toggle and clicking it. This adds an explicit additional style for focus/hover on active buttons. Note that this does not address issues of browser focus remaining on a button after a mouse click (e.g. #13971), as this will likely require extra JavaScript to fix.
69 lines
1.4 KiB
Plaintext
69 lines
1.4 KiB
Plaintext
// Button variants
|
|
//
|
|
// Easily pump out default styles, as well as :hover, :focus, :active,
|
|
// and disabled options for all buttons
|
|
|
|
.button-variant(@color; @background; @border) {
|
|
color: @color;
|
|
background-color: @background;
|
|
border-color: @border;
|
|
|
|
&:focus,
|
|
&.focus {
|
|
color: @color;
|
|
background-color: darken(@background, 10%);
|
|
border-color: darken(@border, 25%);
|
|
}
|
|
&:hover {
|
|
color: @color;
|
|
background-color: darken(@background, 10%);
|
|
border-color: darken(@border, 12%);
|
|
}
|
|
&:active,
|
|
&.active,
|
|
.open > .dropdown-toggle& {
|
|
color: @color;
|
|
background-color: darken(@background, 10%);
|
|
border-color: darken(@border, 12%);
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&.focus {
|
|
color: @color;
|
|
background-color: darken(@background, 17%);
|
|
border-color: darken(@border, 25%);
|
|
}
|
|
}
|
|
&:active,
|
|
&.active,
|
|
.open > .dropdown-toggle& {
|
|
background-image: none;
|
|
}
|
|
&.disabled,
|
|
&[disabled],
|
|
fieldset[disabled] & {
|
|
&,
|
|
&:hover,
|
|
&:focus,
|
|
&.focus,
|
|
&:active,
|
|
&.active {
|
|
background-color: @background;
|
|
border-color: @border;
|
|
}
|
|
}
|
|
|
|
.badge {
|
|
color: @background;
|
|
background-color: @color;
|
|
}
|
|
}
|
|
|
|
// Button sizes
|
|
.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {
|
|
padding: @padding-vertical @padding-horizontal;
|
|
font-size: @font-size;
|
|
line-height: @line-height;
|
|
border-radius: @border-radius;
|
|
}
|