Редактировать: попробуйте назначить классы своим элементам через ngFor
здесь:
<div fxFlexFill fxLayout="row wrap" fxLayout.xs="column" fxLayout.sm="column" fxLayoutGap="20px grid" style="margin-right:-20px;">
<div fxFlex="calc(25%-20px)" fxFlex.md="33"
*ngFor="let product of products;let i = index"
[ngClass]="'product-'+getClassName(i)">
...
.ts
counter: number = 0;
getClassName(index) {
if(index%4 === 0)
this.counter = 0;
this.counter++;
switch(this.counter) {
case 1:
return "first"
case 2:
return "second"
case 3:
return "third"
default:
return "fourth"
}
}
затем добавьте эти css
стили:
.product-first[fxFlex] {
padding-right: 20px !important;
}
.product-second[fxFlex] {
padding-left: 6.66px !important;
padding-right: 13.34px !important;
}
.product-third[fxFlex] {
padding-left: 13.34px !important;
padding-right: 6.66px !important;
}
.product-fourth[fxFlex] {
padding-left: 20px !important;
padding-right: 0 !important;
}
Я не уверен, что это лучший способ, но он работает.
Старый ответ: Просто добавьте css
стилей:
[fxFlex]:last-of-type { padding-right:0px !important; }
Если есть более одной строки:
[fxFlex]:nth-child(4n) { padding-right:0px !important; }
Если есть больше элементов fxFlex, вы можете назначить класс:
<div fxFlexFill fxLayout="row wrap" fxLayout.xs="column" fxLayout.sm="column" fxLayoutGap="20px grid" style="margin-right:-20px;">
<div class="padding-fix" fxHide.lt-sm="true" fxFlex="calc(25%-20px)" fxFlex.md="33">
...
.padding-fix[fxFlex]:nth-child(4n) { padding-right:0px !important; }