CSS-справочникВ стандарте

CSS :valid — как работает

CSS :valid: принцип работы, корректный синтаксис, практический сценарий, ограничения, ошибки и актуальная совместимость.

Практический смысл

«:valid» рассматривается не как изолированный синтаксис, а как часть области «псевдоклассы». Псевдокласс :valid сопоставляет элемент с определённым состоянием или структурным условием. Практический контекст для «:valid» — на странице при увеличении текста до 200%; во время проверки фиксируйте ожидаемое состояние до открытия DevTools.

Практическое правило для :valid

Для «:valid» сначала не полагайтесь только на hover и сохраняйте эквивалентное состояние клавиатурного фокуса. После этого сравните исходное и изменённое состояние «:valid» на одном и том же содержимом.

Синтаксис :valid

Для демонстрации «:valid» используется короткий код с наблюдаемым результатом. Сохраните структуру примера, когда будете проверять другое значение.

css
.button:valid {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
}
Открыть в Playground

Как работает :valid

Браузер обрабатывает «:valid» в контексте области «псевдоклассы»: селектор пересчитывается браузером при изменении состояния или структуры DOM. Для «:valid» наблюдения через поведение без пользовательской таблицы стилей и момент загрузки ресурса в Network отделяют исходное условие от результата.

Проверка в проекте

  • Не полагайтесь только на hover и сохраняйте эквивалентное состояние клавиатурного фокуса; результат относится непосредственно к «:valid».
  • Замедлить загрузку ресурсов и проверить резервное содержимое при разборе «:valid».
  • Проверьте «:valid» на странице при увеличении текста до 200% через поведение без пользовательской таблицы стилей и запишите наблюдаемое изменение.
Выбор конструкции

Критерий выбора «:valid» — предсказуемая работа в заявленном контексте. Для «:valid» подтвердите её через поведение без пользовательской таблицы стилей и соблюдите ограничение: фиксируйте ожидаемое состояние до открытия DevTools.

Практика с :valid

Соберите «:valid» на контрольной странице и проверьте предметное условие: не полагайтесь только на hover и сохраняйте эквивалентное состояние клавиатурного фокуса. Затем для «:valid» замените содержимое длинным и сузьте контейнер до 320 px.

псевдоклассы:valid

Сценарий: на странице при увеличении текста до 200%.

Ошибки при работе с :valid

01

Каскад

Состояние :valid не должно быть единственным способом увидеть важное действие или информацию — это предметный риск для «:valid».

02

Поддержка

Дублирование интерактивной роли без нативного управления при использовании «:valid».

03

Контекст

Визуальное изменение порядка, не совпадающее с DOM и фокусом; для «:valid» проверьте это отдельно.

Поддержка :valid

Для «:valid» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «:valid»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 10Edgeс версии 12Firefoxс версии 4Safariс версии 5

Спецификация: источник 1, источник 2.

Вопросы о :valid

Как понять, что «:valid» выбрано правильно?

«:valid» выбрано правильно, когда оно решает задачу «выбрать элемент по состоянию, положению или отношению к другим узлам», сохраняет результат на странице при увеличении текста до 200% и проходит предметную проверку: не полагайтесь только на hover и сохраняйте эквивалентное состояние клавиатурного фокуса.

Нужен ли запасной вариант для «:valid»?

Запасной вариант для «:valid» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «:valid» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.