CSS overflow-anchor — синтаксис и примеры
CSS-свойство overflow-anchor: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.
Когда применять
В материале о «overflow-anchor» основное внимание уделено области «прокрутка и переполнение». Свойство overflow-anchor относится к области «прокрутка и переполнение» и создаёт или настраивает область прокрутки и влияет на sticky-позиционирование потомков. Проверяйте поведение «overflow-anchor» в интерфейсе, которым управляют только клавиатурой, причём проверяйте отсутствие данных как отдельный сценарий.
Для «overflow-anchor» сначала проверьте вычисленное значение overflow-anchor, наследование и контекст родителя. После этого сравните исходное и изменённое состояние «overflow-anchor» на одном и том же содержимом.
Синтаксис overflow-anchor
Синтаксис «overflow-anchor» показан на минимальном фрагменте без внешнего фреймворка. Сначала запустите исходный вариант, затем меняйте отмеченную часть.
.demo {
overflow-anchor: auto;
}Как работает overflow-anchor
Чтобы объяснить работу «overflow-anchor», проследите путь от структуры и входного значения до отображения или поведения. Свойство overflow-anchor относится к области «прокрутка и переполнение» и создаёт или настраивает область прокрутки и влияет на sticky-позиционирование потомков. Контрольная точка для «overflow-anchor» — размер содержащего блока в Layout.
Проверка в проекте
- Проверьте вычисленное значение overflow-anchor, наследование и контекст родителя; результат относится непосредственно к «overflow-anchor».
- Проверить ширину 320 px без горизонтальной прокрутки всей страницы при разборе «overflow-anchor».
- Проверьте «overflow-anchor» в интерфейсе, которым управляют только клавиатурой через победившую декларацию во вкладке Computed и запишите наблюдаемое изменение.
Оставляйте «overflow-anchor» в решении только после проверки в интерфейсе, которым управляют только клавиатурой. Если нативная конструкция решает задачу «overflow-anchor» с меньшим числом условий, используйте её.
Практика с overflow-anchor
Перенесите «overflow-anchor» на небольшом макете и испытайте его в интерфейсе, которым управляют только клавиатурой. Сначала воспроизведите правильный результат, затем намеренно добавьте риск для «overflow-anchor»: изолированная декларация overflow-anchor без связанных ограничений может дать другой результат в реальном компоненте.
Сценарий: в интерфейсе, которым управляют только клавиатурой.
Ошибки при работе с overflow-anchor
Устойчивость
Изолированная декларация overflow-anchor без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «overflow-anchor».
Доступность
Использование физической стороны там, где нужен логический отступ при использовании «overflow-anchor».
Каскад
Копирование свойства без необходимого родительского контекста; для «overflow-anchor» проверьте это отдельно.
Поддержка overflow-anchor
Для «overflow-anchor» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «overflow-anchor»; окончательное решение принимайте по аудитории конкретного проекта.
Спецификация: источник 1.
Вопросы о overflow-anchor
Как понять, что «overflow-anchor» выбрано правильно?
«overflow-anchor» выбрано правильно, когда оно решает задачу «управлять доступом к содержимому, которое выходит за границы контейнера», сохраняет результат в интерфейсе, которым управляют только клавиатурой и проходит предметную проверку: проверьте вычисленное значение overflow-anchor, наследование и контекст родителя.
Нужен ли запасной вариант для «overflow-anchor»?
Запасной вариант для «overflow-anchor» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «overflow-anchor» должно сохранять смысл, содержимое и основное действие.
Спецификации и источники
Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.