Spec-Zone.ru › CSS

Псевдокласс CSS `:indeterminate`

Базовая поддержка Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с января 2020 года.

:indeterminate CSS псевдокласс обозначает любой элемент формы, состояние которого неопределённо: например, флажки, для которых с помощью JavaScript задано состояние indeterminate, переключатели, входящие в группу, в которой ни один переключатель не выбран, и элементы <progress> без атрибута value.

/* Selects any <input> whose state is indeterminate */
input:indeterminate {
  background: lime;
}

К этому селектору относятся следующие элементы:

  • элементы <input type="checkbox">, для которых свойству indeterminate задано значение true.
  • элементы <input type="radio"> с одинаковым значением name, если ни один из них не checked.
  • элементы <progress> без атрибута value, что помещает их в неопределённое состояние.

Синтаксис

:indeterminate {
  /* ... */
}

Примеры

Флажок и переключатель

В этом примере к меткам, связанным с полями формы в неопределённом состоянии, применяются специальные стили.

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" value="val1" />
    <label for="radio1">First radio label starts out lime.</label>
  </div>
  <div>
    <input type="radio" id="radio2" name="radioButton" value="val2" />
    <label for="radio2">Second radio label also starts out lime.</label>
  </div>
</fieldset>

CSS

input:indeterminate + label {
  background: lime;
}
fieldset {
  padding: 1em 0.75em;
}

fieldset:first-of-type {
  margin-bottom: 1.5rem;
}

fieldset:not(:first-of-type) > div:not(:last-child) {
  margin-bottom: 0.5rem;
}

JavaScript

const inputs = document.getElementsByTagName("input");

for (const input of inputs) {
  input.indeterminate = true;
}

Результат

Индикатор выполнения

HTML

<progress></progress>

CSS

progress {
  margin: 4px;
}

progress:indeterminate {
  width: 80vw;
  height: 20px;
}

Результат

Спецификации

Спецификация
HTML
# selector-indeterminate
Селекторы, уровень 4
# indeterminate-pseudo

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
indeterminate
1
12
2
9
3
18
4
10.1
1
1.0
4.4
1
checkbox
1
12
3.6
10.6
3
18
4
11
1
1.0
4.4
1
progress
6
12
6
15
5.1
18
6
14
5
1.0
37
5
radio
39
79
51
26
10
39
51
26
10
4.0
39
10

См. также

  • Веб-формы — работа с пользовательскими данными
  • Стилизация веб-форм
  • Свойство indeterminate элемента <input type="checkbox">
  • <input> и реализующий его интерфейс HTMLInputElement.
  • Селектор CSS :checked позволяет задавать стили флажкам в зависимости от того, выбраны они или нет

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:indeterminate

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API