CSS-свойствоВ стандарте

CSS content-visibility — синтаксис и примеры

CSS-свойство content-visibility: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Суть темы

Практический смысл «content-visibility» связан с тем, чтобы управлять местом элемента в потоке, его контекстом или взаимным расположением блоков. Свойство content-visibility относится к области «раскладка и позиционирование» и может создавать новый контекст форматирования, содержащий блок или уровень наложения. Контрольная проверка «content-visibility» проходит в интерфейсе, которым управляют только клавиатурой, а наблюдаемой точкой служит состояние при пустом содержимом.

Практическое правило для content-visibility

Рабочий критерий для «content-visibility»: проверьте вычисленное значение content-visibility, наследование и контекст родителя. Если результат «content-visibility» меняется вместе с посторонним условием, пример ещё не изолирован.

Синтаксис content-visibility

Синтаксис «content-visibility» показан на минимальном фрагменте без внешнего фреймворка. Сначала запустите исходный вариант, затем меняйте отмеченную часть.

css
.demo {
  content-visibility: relative;
}
Открыть в Playground

Как работает content-visibility

Чтобы объяснить работу «content-visibility», проследите путь от структуры и входного значения до отображения или поведения. Свойство content-visibility относится к области «раскладка и позиционирование» и может создавать новый контекст форматирования, содержащий блок или уровень наложения. Контрольная точка для «content-visibility» — состояние при пустом содержимом.

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

  • Проверьте вычисленное значение content-visibility, наследование и контекст родителя; результат относится непосредственно к «content-visibility».
  • Проверить печать и убедиться, что важное содержимое не исчезает при разборе «content-visibility».
  • Проверьте «content-visibility» в интерфейсе, которым управляют только клавиатурой через состояние при пустом содержимом и запишите наблюдаемое изменение.
Выбор конструкции

Используйте «content-visibility», когда требуется управлять местом элемента в потоке, его контекстом или взаимным расположением блоков; подтвердите выбор предметной проверкой: проверьте вычисленное значение content-visibility, наследование и контекст родителя. Для «content-visibility» более простой вариант предпочтителен, если он сохраняет тот же смысл и поведение.

Практика с content-visibility

Создайте два варианта «content-visibility» в рабочем фрагменте интерфейса: корректный и с одной типичной ошибкой. Сравните варианты «content-visibility» через состояние при пустом содержимом и объясните различие.

раскладка и позиционированиеcontent-visibility

Сценарий: в интерфейсе, которым управляют только клавиатурой.

Ошибки при работе с content-visibility

01

Контекст

Изолированная декларация content-visibility без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «content-visibility».

02

Устойчивость

Визуальное изменение порядка, не совпадающее с DOM и фокусом при использовании «content-visibility».

03

Доступность

Подмена семантики визуально похожим div или span; для «content-visibility» проверьте это отдельно.

Поддержка content-visibility

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

Chromeс версии 85Edgeс версии 85Firefoxс версии 125Safariс версии 18

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

Вопросы о content-visibility

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

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

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

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

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

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