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

CSS overflow-anchor — синтаксис и примеры

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

Когда применять

В материале о «overflow-anchor» основное внимание уделено области «прокрутка и переполнение». Свойство overflow-anchor относится к области «прокрутка и переполнение» и создаёт или настраивает область прокрутки и влияет на sticky-позиционирование потомков. Проверяйте поведение «overflow-anchor» в интерфейсе, которым управляют только клавиатурой, причём проверяйте отсутствие данных как отдельный сценарий.

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

Для «overflow-anchor» сначала проверьте вычисленное значение overflow-anchor, наследование и контекст родителя. После этого сравните исходное и изменённое состояние «overflow-anchor» на одном и том же содержимом.

Синтаксис overflow-anchor

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

css
.demo {
  overflow-anchor: auto;
}
Открыть в Playground

Как работает 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

01

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

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

02

Доступность

Использование физической стороны там, где нужен логический отступ при использовании «overflow-anchor».

03

Каскад

Копирование свойства без необходимого родительского контекста; для «overflow-anchor» проверьте это отдельно.

Поддержка overflow-anchor

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

Chromeс версии 56Edgeс версии 79Firefoxс версии 66Safariс версии 27

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

Вопросы о overflow-anchor

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

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

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

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

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

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