2015-03-26 6 views
3

Есть ли способ, чтобы все ящики были равны высоте (и ширине) самого большого окна, используя display: flex; с flex-wrap: wrap;. Кажется, он работает только с людьми в одной строке. Эта ручка иллюстрирует проблему еще немного: http://codepen.io/komplexb/pen/gbqgXqКвадратные блоки с фальшивой коробкой

ответ

3

Учитывая, что вы уже садилось высоту на родительский элемент (и что родительский элемент квадрат), вам просто нужно будет, чтобы дать детям Flexbox вещи высоту 50% ,

При этом значение flex-basis (стенографин) 50% в сочетании с высотой 50% приведет к получению идеальных квадратных элементов гибкой связи, поскольку родительский квадрат.

Updated Example

li { 
    flex: 0 0 50%; 
    height: 50%; 
    color: white; 
    text-align: center; 
} 
+0

Это делает работу до такой степени. Но это теперь дает 'li' фиксированную высоту. Таким образом, он не будет расти/сокращаться на основе контента. Основная цель здесь - получить каждую «ли» в заданной «ul», чтобы взять высоту самого высокого из них. Как я уже говорил, это происходит только для ящиков в одной строке. – komplexb

+0

@komplexb Но если все элементы 'li' занимают высоту самого высокого' li', то элементы 'li' не будут квадратными, если имеется несколько строк. –

+1

Да, это правильно. Также кто-то вошел в [Twitter] (https://twitter.com/JoniTrythall/status/581102450943328258), похоже, ваше решение является самым близким, которое я могу получить без добавления JS. Благодарю. – komplexb