2017-02-13 7 views
5

Я очень новой для Flex-макета и возникают проблемы крепления следующие:Угловая сгибать-макет с ngFor

https://github.com/angular/flex-layout

Мои ngFor:

<div fxLayout.xs="column"> 
<country fxFlex *ngFor="let country of countries" [country]="country"></country> 
</div> 

Результат:

enter image description here

Что делать, если я хочу только 3 страны строка, другими словами, что, если я хочу, чтобы последняя «Германия» была в следующем ряду?

Возможно ли это только путем создания нескольких fxLayout? Под этим я имею в виду 2 цикла, 1 для создания числа fxLayout и другого внутреннего цикла, чтобы показать компоненты моей страны (fxFlex элементов). Заранее спасибо!

+0

Что произойдет, если вы поставите 'мин-ширина: 33%' на каждой коробке? В стандартном flexbox он обеспечит только 3 элемента max в строке –

+0

fxLayout, вероятно, является директивой «Угловая 2». Просьба представить полученный (jsfiddle.net) HTML и CSS, которые отображаются в браузере. Я знаю решение этой ситуации. – Marian07

+0

Обновление: Действительно, это директива Ng2 (https://github.com/angular/flex-layout). Завтра я сделаю несколько тестов, чтобы я мог дать ответ, используя его методы. – Marian07

ответ

7

Я нашел решение на: How to control number of items per row using media queries in Flexbox?

HTML:

<div fxLayout="row" fxLayout.xs="column" fxLayoutWrap="wrap"> 
    <country fxFlex.gt-xs="50%" [fxFlex.gt-md]="regularDistribution" *ngFor="let country of countries" [country]="country"></country> 
</div> 

Машинопись:

//I use this to show of expression bindings in flex-layout and because I don't want the calculated value in the HTML. 
regularDistribution = 100/3; 

обертывание: многострочный/слева направо в литровых; справа налево в РТЛ

Ключевым моментом здесь является fxLayoutWrap = «завернуть»