celtrix, можете воспользоваться таким хаком: меняете в .MenuMainItemGroup .MenuMainItemGroup__item min-height: 100% на width: 100vw.
Тогда строки будут растягиваться не на ширину контейнера, а на ширину экрана.
Drovosek01, блоковые контейнеры обязаны - они и растягиваются в зависимости от контента. Во флексбоксе все сложнее, т.к. кроме ширины отдельного элемента внутри надо еще учитывать много всего, включая ширину и высоту самого контейнера и других элементов внутри, возможность переноса не вмещающихся элементов на другую строку и т.д. Поэтому у элемента будет нужная вам ширина только если позволяют условия.
Например, в вашем случае:
- первому элементу задана ширина, заведомо слишком большая для контейнера
- растягивать контейнер по главной оси нельзя
- перенести на другую строку нельзя (flex-wrap: nowrap по умолчанию)
- а у остальных элементов тоже есть контент и паддинги, которые тоже надо учитывать, хотя бы по минимуму
Поэтому в итоге в контейнере элементы умещаются так, как будет оптимальнее, "чтобы всем было хорошо".
1. А зачем вы "название транзишина" используете как компонент и прикручиваете ему event listener?
2. А вы посмотрите внимательнее код Header.vue, который выложили.
В общем, пока понятно, что ничего непонятно. Поддерживаю второго ответившего - выложите реальный код, который пытаетесь выполнять.
И не надо код урезать, так еще хуже, потому что неясно, что вы убрали специально, а что - ошибка.
Вы можете проставить хоть 1000000px, элемент все равно не будет такой ширины, потому что он ограничен шириной контейнера. А контейнер - это не блочный элемент (display: block), а флексовый, он по главной оси не растягивается.
Убрать flex-basis у элемента = поставить flex-basis: auto.
А при flex-basis: auto ширина берется по width. Если width не указан, то по контенту.
Но ширина каждого отдельно взятого элемента - предварительная, окончательно будет высчитана, когда этот элемент уложится в контейнер со всеми остальными.
У них же тоже flex-basis: auto, только ширина, в отличие от .itm1, не указана. Поэтому для них ширина высчитывается так, чтобы вместилось их содержимое, а для .itm1 берется ширина, максимально близкая к указанной вами, чтобы оставить нужное место для других элементов.
Такие вот пироги.
Тогда строки будут растягиваться не на ширину контейнера, а на ширину экрана.