CSS content-visibility — синтаксис и примеры
CSS-свойство content-visibility: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.
Суть темы
Практический смысл «content-visibility» связан с тем, чтобы управлять местом элемента в потоке, его контекстом или взаимным расположением блоков. Свойство content-visibility относится к области «раскладка и позиционирование» и может создавать новый контекст форматирования, содержащий блок или уровень наложения. Контрольная проверка «content-visibility» проходит в интерфейсе, которым управляют только клавиатурой, а наблюдаемой точкой служит состояние при пустом содержимом.
Рабочий критерий для «content-visibility»: проверьте вычисленное значение content-visibility, наследование и контекст родителя. Если результат «content-visibility» меняется вместе с посторонним условием, пример ещё не изолирован.
Синтаксис content-visibility
Синтаксис «content-visibility» показан на минимальном фрагменте без внешнего фреймворка. Сначала запустите исходный вариант, затем меняйте отмеченную часть.
.demo {
content-visibility: relative;
}Как работает 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 без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «content-visibility».
Устойчивость
Визуальное изменение порядка, не совпадающее с DOM и фокусом при использовании «content-visibility».
Доступность
Подмена семантики визуально похожим div или span; для «content-visibility» проверьте это отдельно.
Поддержка content-visibility
Для «content-visibility» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «content-visibility»; окончательное решение принимайте по аудитории конкретного проекта.
Спецификация: источник 1.
Вопросы о content-visibility
Как понять, что «content-visibility» выбрано правильно?
«content-visibility» выбрано правильно, когда оно решает задачу «управлять местом элемента в потоке, его контекстом или взаимным расположением блоков», сохраняет результат в интерфейсе, которым управляют только клавиатурой и проходит предметную проверку: проверьте вычисленное значение content-visibility, наследование и контекст родителя.
Нужен ли запасной вариант для «content-visibility»?
Запасной вариант для «content-visibility» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «content-visibility» должно сохранять смысл, содержимое и основное действие.
Спецификации и источники
Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.