我有一个尺寸为630x630px的div。现在我想在这个div中放置一个图像。如果图像大于630px(它的宽度或高度),我可以简单地使用最大宽度和最大高度,它将适合630px。但是如果图像小于630px怎么办?在这种情况下,我想这张图片的较大的尺寸被拉伸与恒定的纵横比为630px。我该怎么做?
6rqinv9w1#
您可以在图像上使用object-fit和object-position CSS属性来实现这一点。您的代码应如下所示:
object-fit
object-position
.container { width: 630px; height: 630px; position: relative; } .container img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 100%; max-height: 100%; object-fit: contain; object-position: center center; }
hujrc8aj2#
我会避免在不必要的时候使用position: absolute;。object-fit自己完成了这个任务。
position: absolute;
.container { width: 630px; height: 630px; /* To visualize better the behavior of the image */ border: 1px solid #333; margin-bottom: 1rem; } .container img { width: 100%; height: 100%; object-fit: contain; }
<div class="container"> <img src="https://placehold.co/1200x1000" alt=""> </div> <div class="container"> <img src="https://placehold.co/150x80" alt=""> </div>
2条答案
按热度按时间6rqinv9w1#
您可以在图像上使用
object-fit
和object-position
CSS属性来实现这一点。您的代码应如下所示:hujrc8aj2#
我会避免在不必要的时候使用
position: absolute;
。object-fit
自己完成了这个任务。