下面,如果我们希望 div 的长宽比与照片相同,那么 placeholder.png 是一个小的透明图像,它的长宽比与 photo.jpg 相同。如果照片是一个正方形,它是一个1px x 1px 的占位符,如果照片是一个视频缩略图,它是一个16x9的占位符,等等。
针对这个问题,使用1x1占位符来保持 div 的平方比,而背景图像使用 background-size来保持照片的长宽比。
我使用 background-position: center center;,所以照片将在 div 的中心。(将照片在垂直中心或底部对齐会与 img 标签中的照片不协调。)
div {
background: url(photo.jpg) center center no-repeat;
background-size: contain;
width: 48px; // or a % in responsive layout
}
img {
width: 100%;
}
<div><img src="placeholder.png"/></div>