mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-28 23:59:53 +02:00
Properly hide checkbox and radio inputs in button groups
`pointer-events: none;` for modern browsers (including IE11+), `clip: rect(1px, 1px, 1px, 1px);` for everything else. Fixes #14137
This commit is contained in:
@@ -226,11 +226,14 @@
|
|||||||
// Checkbox and radio options
|
// Checkbox and radio options
|
||||||
//
|
//
|
||||||
// In order to support the browser's form validation feedback, powered by the
|
// In order to support the browser's form validation feedback, powered by the
|
||||||
// `required` attribute, we have to "hide" the inputs via `opacity`. We cannot
|
// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
|
||||||
// use `display: none;` or `visibility: hidden;` as that also hides the popover.
|
// `display: none;` or `visibility: hidden;` as that also hides the popover.
|
||||||
|
// Simply visually hiding the inputs via `opacity` would leave them clickable in
|
||||||
|
// certain cases which is prevented by using `clip` and `pointer-events`.
|
||||||
// This way, we ensure a DOM element is visible to position the popover from.
|
// This way, we ensure a DOM element is visible to position the popover from.
|
||||||
//
|
//
|
||||||
// See https://github.com/twbs/bootstrap/pull/12794 for more.
|
// See https://github.com/twbs/bootstrap/pull/12794 and
|
||||||
|
// https://github.com/twbs/bootstrap/pull/14559 for more information.
|
||||||
|
|
||||||
[data-toggle="buttons"] {
|
[data-toggle="buttons"] {
|
||||||
> .btn,
|
> .btn,
|
||||||
@@ -238,8 +241,8 @@
|
|||||||
input[type="radio"],
|
input[type="radio"],
|
||||||
input[type="checkbox"] {
|
input[type="checkbox"] {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: -1;
|
clip: rect(0,0,0,0);
|
||||||
.opacity(0);
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user