You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置figure内图片宽高并保留比例,如何让caption紧贴图片底部?

解决figcaption紧贴带留白图片底部的问题

问题出在你给img设置了固定的height属性——当max-width触发让图片宽度缩小时,img的高度仍维持设定值,object-fit:contain产生的留白是在img元素内部,figcaption跟着img元素的底部走,自然就和实际图片拉开了距离。

可以通过给img加一个容器来解决,用容器控制宽高比例和最大宽度,让img在容器内自适应显示,这样figcaption就能紧贴容器(也就是实际图片的底部):

代码示例

HTML

<figure>
  <div class="img-wrapper">
    <img src="image.jpg" />
  </div>
  <figcaption>Caption</figcaption>
</figure>

CSS

/* 基础样式保留你的max-width设置 */
img {
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 容器控制初始尺寸和宽高比 */
.img-wrapper {
  width: 100px;   /* 你想要的初始宽度 */
  height: 200px;  /* 你想要的初始高度 */
  max-width: 100%;
  aspect-ratio: 100/200; /* 和初始宽高一致,确保缩放时比例不变 */
}

原理说明

  • 容器img-wrapper负责维持你需要的宽高比,同时通过max-width:100%保证在窄屏幕上自动缩小;
  • img设置width:100%和height:100%占满容器,配合object-fit:contain按比例显示图片;
  • figcaption紧跟在容器下方,自然就紧贴实际图片的底部,不会被img内部的留白隔开。

内容的提问来源于stack exchange,提问作者twsh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 02:18:24