:indeterminate
The :indeterminate
CSS pseudo-class represents any form element whose state is indeterminate, such as checkboxes which have their HTML indeterminate
attribute set to true
, radio buttons which are members of a group in which all radio buttons are unchecked, and indeterminate <progress>
elements.
/* Selects any <input> whose state is indeterminate */ input:indeterminate { background: lime; }
Elements targeted by this selector are:
-
<input type="checkbox">
elements whoseindeterminate
property is set totrue
by JavaScript -
<input type="radio">
elements, when all radio buttons with the samename
value in the form are unchecked -
<progress>
elements in an indeterminate state
Syntax
:indeterminate
Examples
Checkbox & radio button
This example applies special styles to the labels associated with indeterminate form fields.
HTML
<fieldset> <legend>Checkbox</legend> <div> <input type="checkbox" id="checkbox"> <label for="checkbox">This checkbox label starts out lime.</label> </div> </fieldset> <fieldset> <legend>Radio</legend> <div> <input type="radio" id="radio1" name="radioButton"> <label for="radio1">First radio label starts out lime.</label> </div> <div> <input type="radio" id="radio2" name="radioButton"> <label for="radio2">Second radio label also starts out lime.</label> </div> </fieldset>
CSS
input:indeterminate + label { background: lime; }
JavaScript
const inputs = document.getElementsByTagName("input"); for (let i = 0; i < inputs.length; i++) { inputs[i].indeterminate = true; }
Progress bar
HTML
<progress></progress>
CSS
progress { margin: 4px; } progress:indeterminate { width:80vw; height:20px; }
Result
Specifications
Specification |
---|
HTML Standard (HTML) # selector-indeterminate |
Selectors Level 4 (Selectors 4) # indeterminate |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
:indeterminate |
1 |
12 |
2 |
10 |
9 |
3 |
≤37 |
18 |
4 |
10.1 |
1 |
1.0 |
checkbox |
1 |
12 |
3.6 |
10 |
10.6 |
3 |
≤37 |
18 |
4 |
11 |
1 |
1.0 |
progress |
6 |
12 |
6 |
10 |
15 |
5.1 |
37 |
18 |
6 |
14 |
5 |
1.0 |
radio |
39 |
79 |
51 |
No |
26 |
No
See WebKit bug 156270.
|
39 |
39 |
51 |
26 |
No
See WebKit bug 156270.
|
4.0 |
See also
- Web forms — Working with user data
- Styling web forms
- The
<input type="checkbox">
element'sindeterminate
attribute -
<input>
and theHTMLInputElement
interface which implements it. - The
:checked
CSS selector lets you style checkboxes based on whether they're checked or not
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate