如何保持离子卡的纵横比
How to maintain aspect ratio for Ionic cards
我的 Ionic 页面上显示了一张卡片列表,我希望它们按比例展开。
这是我的代码:
HTML
<ion-content class="home" padding>
<ion-card class="event-item" *ngFor="let item of items">
<div [ngStyle]="{'background-image': 'url(' + item.img + ')'}" class="card-thumbnail"></div>
<ion-card-content>
<p [innerHTML]="item.excerpt"></p>
</ion-card-content>
</ion-card>
</ion-content>
SCSS
.event-item {
margin: 25px 10px;
}
.card-thumbnail {
height: 18rem;
background-size: cover;
background-position-x: 50%;
background-position-y: 50%;
}
我尝试了很多方法,将 padding-top
设置为 <ion-card>
元素的百分比值 - 这使得卡片可以根据需要调整大小,但它使图像失真。
如果您所说的扭曲是指它会切掉部分图像,那么为了保持图像比例,确定图像纵横比的百分比。例如 4:3 是 100%:75%.
然后您可以将 padding-bottom 设置为 75%,将 width 设置为 100%,并完全删除固定高度。
.card-thumbnail {
background-size: cover;
background-position-x: 50%;
background-position-y: 50%;
width: 100%;
padding-bottom: 75%;
}
有关完整示例,请参阅 https://jsfiddle.net/jamesreimer/jkk1vLuz/。
我的 Ionic 页面上显示了一张卡片列表,我希望它们按比例展开。 这是我的代码:
HTML
<ion-content class="home" padding>
<ion-card class="event-item" *ngFor="let item of items">
<div [ngStyle]="{'background-image': 'url(' + item.img + ')'}" class="card-thumbnail"></div>
<ion-card-content>
<p [innerHTML]="item.excerpt"></p>
</ion-card-content>
</ion-card>
</ion-content>
SCSS
.event-item {
margin: 25px 10px;
}
.card-thumbnail {
height: 18rem;
background-size: cover;
background-position-x: 50%;
background-position-y: 50%;
}
我尝试了很多方法,将 padding-top
设置为 <ion-card>
元素的百分比值 - 这使得卡片可以根据需要调整大小,但它使图像失真。
如果您所说的扭曲是指它会切掉部分图像,那么为了保持图像比例,确定图像纵横比的百分比。例如 4:3 是 100%:75%.
然后您可以将 padding-bottom 设置为 75%,将 width 设置为 100%,并完全删除固定高度。
.card-thumbnail {
background-size: cover;
background-position-x: 50%;
background-position-y: 50%;
width: 100%;
padding-bottom: 75%;
}
有关完整示例,请参阅 https://jsfiddle.net/jamesreimer/jkk1vLuz/。