CSS-свойствоУстаревшая возможность

CSS box-flex — синтаксис и примеры

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

Не используйте в новом коде

«box-flex» отмечено как устаревшее. Материал о «box-flex» сохранён для разбора старых проектов, миграции и выбора современной замены.

Назначение и границы

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

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

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

Синтаксис box-flex

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

css
.demo {
  box-flex: 1rem;
}
Открыть в Playground

Как работает box-flex

Браузер обрабатывает «box-flex» в контексте области «Flexbox и Grid»: свойство box-flex относится к области «Flexbox и Grid» и рассчитывается совместно с размерами контейнера, содержимым и настройками соседних элементов. Для «box-flex» наблюдения через состояние при пустом содержимом и порядок фокуса в дереве доступности отделяют исходное условие от результата.

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

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

Оставляйте «box-flex» в решении только после проверки в форме, где часть полей становится недоступной. Если нативная конструкция решает задачу «box-flex» с меньшим числом условий, используйте её.

Практика с box-flex

Проверьте «box-flex» в изолированном демо с длинным текстом, клавиатурным управлением и узким экраном. Отдельная проверка для «box-flex»: проверьте вычисленное значение box-flex, наследование и контекст родителя.

Flexbox и Gridbox-flex

Сценарий: в форме, где часть полей становится недоступной.

Ошибки при работе с box-flex

01

Контекст

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

02

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

Фиксированные размеры, которые перестают вмещать реальное содержимое при использовании «box-flex».

03

Доступность

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

Поддержка box-flex

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

Chromeс версии 1Edgeс версии 12Firefoxс версии 49Safariс версии 3

Вопросы о box-flex

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

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

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

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

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

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