: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:

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

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
39
39
51
26
No
4.0

See also

© 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