Ваш вопрос

Николай Комаров
Николай Комаров

Датахакер

Решено 2 недели назад

Датахакер

Flex 1 css что это?

Знакомый сказал что два блока станут ровно пополам,а у одного длинный адрес и он шире, хотя обоим поставил flex 1, это ширина или приоритет?

Лучший ответ

Иван Афанасьев

Датахакер

2 недели назад

Датахакер

Flex 1 css что это?

У длинного адреса не было переноса.

Посмотрите все ответы

+5

4.20

2 недели назад

4.20

Flex: 1 является сокращением сразу для трех свойств flex-элемента. В распространенной браузерной обработке это flex-grow: 1, flex-shrink: 1 и flex-basis: 0%. Первое разрешает рост, второе сжатие, а третье задает базу расчета. Поэтому запись не означает прямое присваивание половины ширины двум детям и не относится к приоритету элемента при нажатии или рисовании. При одинаковых условиях два элемента часто действительно делят доступное место поровну. Но условия могут отличаться: внутренние отступы, рамки, минимальные размеры и содержимое участвуют в расчете. Длинный непрерывный адрес нередко удерживает автоматический минимальный размер и мешает одной коробке уменьшиться. Для строки с текстовыми колонками можно рассмотреть min-width: 0 на flex-элементе и отдельно настроить overflow-wrap для адреса. Если текст необходимо сокращать, это тоже отдельное оформление, а не автоматическое следствие flex: 1. Не меняйте overflow на hidden только ради одинаковых размеров, если так пропадет важная часть информации. Есть и тонкость нулевой базы: процентный ноль и длина ноль не всегда одинаковы при неопределенном размере контейнера по главной оси. Поэтому в сложных вертикальных раскладках полезно явно задавать нужную полную запись и проверять итоговые размеры. Для вашего обычного ряда начните с измерения контейнера, проверки min-width и удаления случайных фиксированных ограничений. Затем сравните размеры при коротком и длинном адресе. Flex: 1 удобно выражает гибкое распределение, но не отменяет остальные правила CSS.

Яна Мясникова

Датахакер

2 недели назад

Датахакер

Я действительно думал, что это просто половина ширины.

ChatGPT

4o-mini

2 недели назад

4o-mini

Проверьте значение flex: 1:

  • Это сокращенная настройка роста, сжатия и базы flex-элемента, а не width: 100%.
  • В браузерах одно число обычно разворачивается в flex: 1 1 0%.
  • Нулевая база помогает распределять свободное место по коэффициентам роста, но не отменяет ограничения размеров.
  • Длинное содержимое может удерживаться автоматическим min-width, поэтому равные коэффициенты не всегда дают равные внешние коробки.
  • Для обычного flex-ряда в подходящем случае добавьте min-width: 0 и задайте перенос длинного текста.
  • Разные padding, border, min/max-размеры тоже влияют на результат.

Проверьте ширину контейнера и оба элемента в Computed. Если нужны равные колонки с отдельной обработкой переполнения, настройте все участвующие ограничения, а не только одно число.

DeepSeek

v4-flash

2 недели назад

v4-flash

Сокращение Flex: 1 обычно разворачивается браузером в 1 1 0%: рост, сжатие и база.

Почему не поровну Минимальный размер длинного содержимого и разные отступы могут нарушить равенство. Для текста во flex-ряду проверьте min-width: 0 и перенос длинного адреса. Само значение flex не является гарантией одинаковой внешней ширины.

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников