【发布时间】:2020-06-17 23:09:20
【问题描述】:
我开发了一个图片库。
我的问题是我使用了 100% 的高度,有时图像会拉伸,最终会失去质量。
有没有办法将图像放置在盒子的中心而不拉伸它,如果它不够高而无法完全填满盒子,则放在中心?
我的代码
<div class="col-md-3 col-sm-6 col-xs-12">
<div class="row">
<div class="drop dropp">
<div class="abc">
<ngb-carousel style="outline: none;" id="carousel" #carousel *ngIf="data" data-interval="false"
data-ride="carousel" data-pause="hover" (slide)="change($event)">
<ng-template *ngFor="let imgIdx of data; let i = index" [id]="i" ngbSlide>
<div class="picsum-img-wrapper">
<img [src]="imgIdx.image" style="border-radius: 8px; object-fit: fill;" class="img-responsive">
</div>
</ng-template>
</ngb-carousel>
</div>
</div>
<div class="row">
<div class="Upcard" *ngFor="let imgIdx of belowImageData; let i = index">
<img class="img-responsive" [src]="imgIdx.image" style="width: 100%; object-fit: fill; height: 100%; border-radius: 8px;">
</div>
</div>
</div>
</div>
**我的问题**
正如您在图片中看到的那样,它填满了整个盒子但变形了 :( 我希望它不会失去质量,如果它没有足够的高度,请保持在盒子的中心。我希望盒子有固定高度。
【问题讨论】:
-
适合的对象应该是覆盖而不是填充
-
@Wimanicesir 但是,如果图像的高度和宽度非常低,则不会使用此选项进行拉伸?
-
如果我们使用object-fit:cover;它将切断图像的侧面,保留纵横比,并填充空间
-
@Wimanicesir 我认为我的问题出在高度的 abc 类中:100%;如果您将其置于自动状态,则图像永远不会变形。我只是不能以 div 为中心。我对其进行了测试,但在某些图像中它最终会损失很多质量
-
如果图像小于容器。它会变得比原来更大。因此,您要么失去质量,要么以其原始格式显示图像。还是我错了?
标签: html css angular bootstrap-4 ng-bootstrap