Псевдокласс CSS :indeterminate
Псевдокласс CSS :indeterminate выделяет элемент пользовательского интерфейса, находящийся в неопределённом состоянии.
Псевдокласс :indeterminate выделяет:
- Флажки (
<input type="checkbox">), у которых свойство DOMindeterminateустановлено вtrue. - Переключатели (
<input type="radio">), когда в группе не выбран ни один вариант. - Элементы прогресса (
<progress>), когда атрибутvalueопущен.
INFO
Состояние :indeterminate в CSS доступно только для чтения. Для флажков оно должно устанавливаться через JavaScript. Переключатели и элементы прогресса отображают это состояние при определённых условиях. При сбросе формы свойство indeterminate флажка сбрасывается.
Псевдокласс :checked используется для стилизации отмеченного состояния флажков и переключателей. Псевдокласс :indeterminate можно комбинировать с другими селекторами, такими как :hover, чтобы применять стили при наведении для элемента в неопределённом состоянии.
Версия
Модуль базового пользовательского интерфейса CSS Level 3
Синтаксис
Пример синтаксиса CSS :indeterminate
:indeterminate {
css declarations;
}Пример использования селектора :indeterminate:
Пример кода CSS :indeterminate
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
input:indeterminate {
box-shadow: 0 0 2px 2px #666;
}
</style>
</head>
<body>
<h2>Indeterminate selector example</h2>
<form>
<input type="checkbox" id="box" /> Checkbox
<script>
var checkbox = document.getElementById("box");
checkbox.indeterminate = true;
</script>
</form>
</body>
</html>В следующем примере вся группа находится в неопределённом состоянии, когда не выбран ни один вариант.
Пример использования селектора :indeterminate без выбранного варианта:
Ещё один пример кода CSS :indeterminate
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
label {
margin-right: .5em;
position: relative;
top: 1px;
}
input[type="radio"]:indeterminate + label {
color: #8ebf42;
}
</style>
</head>
<body>
<h2>:indeterminate selector example</h2>
<form>
<input type="radio" name="option" value="yes" id="yes" />
<label for="yes">Yes</label>
<input type="radio" name="option" value="no" id="no" />
<label for="no">No</label>
<input type="radio" name="option" value="don't know" id="don't-know" />
<label for="don't-know">Don't know</label>
</form>
</body>
</html>Практика
Какое из следующих утверждений об атрибуте indeterminate в CSS является верным?