Добрый! Извините, но в моём коде я совсем не понимаю, почему если я указываю флекс flex: 0 1 33.333%; то блок никак не меняется! Может я слепой, или не туда его задаю. Нужно чтобы было 3 карточки одинакового размера https://codepen.io/idwln/pen/mdpZbGo
Для начала нужно вставить 3 карточки в разметку вместо одной.
Потом уточнить, у них должна быть одинаковая ширина или высота.
Потому что с одной стороны вы задаете flex-direction: column;, а с другой, не указываете высоту обертки и запретили flex-grow элементам.
В итоге:
Если речь про три в ряд: то нужно убрать про column.
Если про три в столбик, то проще перейти на гриды и единицы fr.
А как он должен меняться? Это единственный блок во флекс-контейнере с неуказанной высотой. Понятно, что он будет занимать всю высоту родителя. Или родитель будет подстраиваться по его высоту, тут уж как хотите думайте.
И, кстати, где там три карточки?
Idwln, вы кажется не поняли. Это вам нужно решение проблемы. Но вы не обозначили её наглядно. Было бы лучше оформить песочницу именно так как нужно, с тремя карточками, чтобы было видно, что у вас там не так.
Не в тему
, но: префиксы визуально засоряют код, отвлекают. Пора б и без них писать. Хотя бы в песочнице. Вряд ли на тостере сидят люди в IE11.
Сергей delphinpro, Перепоставив flex в разные блоки я вроде как разобрался. Хочу сказать, что делаю из scss и сохраняю оттуда и возможно 5 версий назад многовато) Надо бы 3 поставить)
0 - это степень сжатия. нулевая, запрещено.
базовый размер 33,33%. Меньше ужать нельзя (из-за flex-shrink:0). Но учитывая гапы - ширина обязательно будет меньше.