带交替列的离子网格
ion-grid with alternate columns
我对Angular不是很熟悉。我想要一个这样的网格:
即每行有一个图像与两个 images.I 交替使用此代码尝试但我得到一个稍微不同的网格(我也两次获得相同的图像因为我不知道如何增加循环内的索引):
.html:
<ion-content>
<ion-grid class="design">
<ion-row size="12" *ngFor="let t of types ; let i=index">
<ion-col *ngIf="i%3==0" size="12">
<img oncontextmenu="return false;" src={{t?.img}} class="center" />
</ion-col>
<ion-col *ngIf="i%3!=0" size="6">
<img oncontextmenu="return false;" src={{t?.img}} class="center" />
</ion-col>
<ion-col *ngIf="i%3!=0" size="6">
<img oncontextmenu="return false;" src={{types[i+1]?.img}} class="center"/>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
.scss:
.design {
position: center;
width: 90%;
height: 90%;
margin-left: auto;
margin-right: auto;
}
.center {
display: block;
width: 100%;
}
我该如何修改它?
您需要将 ion-row
元素中的行和 ion-grid
中的所有内容换行,然后您可以对每一列使用 ion-col
。这是全宽元素和 2 列行的简单示例:https://stackblitz.com/edit/ionic-yxpfht?file=pages%2Fhome%2Fhome.ts
您也可以参考 official docs,因为这里有一个很好的示例以及如何使用网格。此外,您可能想要操纵 spacing/gutter,这在文档中有解释。
如果您的图像排列成数组,例如`['img1'、'img2'、'img3'],您可能需要检查是否有 3 张图像来显示它们 2 + 1(第一行有 2 个,第二行有 1 个),所以你可以使用类似于 stackblitz 示例的东西。
我对Angular不是很熟悉。我想要一个这样的网格:
即每行有一个图像与两个 images.I 交替使用此代码尝试但我得到一个稍微不同的网格(我也两次获得相同的图像因为我不知道如何增加循环内的索引):
.html:
<ion-content>
<ion-grid class="design">
<ion-row size="12" *ngFor="let t of types ; let i=index">
<ion-col *ngIf="i%3==0" size="12">
<img oncontextmenu="return false;" src={{t?.img}} class="center" />
</ion-col>
<ion-col *ngIf="i%3!=0" size="6">
<img oncontextmenu="return false;" src={{t?.img}} class="center" />
</ion-col>
<ion-col *ngIf="i%3!=0" size="6">
<img oncontextmenu="return false;" src={{types[i+1]?.img}} class="center"/>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
.scss:
.design {
position: center;
width: 90%;
height: 90%;
margin-left: auto;
margin-right: auto;
}
.center {
display: block;
width: 100%;
}
我该如何修改它?
您需要将 ion-row
元素中的行和 ion-grid
中的所有内容换行,然后您可以对每一列使用 ion-col
。这是全宽元素和 2 列行的简单示例:https://stackblitz.com/edit/ionic-yxpfht?file=pages%2Fhome%2Fhome.ts
您也可以参考 official docs,因为这里有一个很好的示例以及如何使用网格。此外,您可能想要操纵 spacing/gutter,这在文档中有解释。
如果您的图像排列成数组,例如`['img1'、'img2'、'img3'],您可能需要检查是否有 3 张图像来显示它们 2 + 1(第一行有 2 个,第二行有 1 个),所以你可以使用类似于 stackblitz 示例的东西。