如何实现图片高度始终与文本高度一致?能否无需JS完成?
解决方案
完全可以不使用JavaScript实现这个效果,通过调整CSS就能让图片高度始终和右侧文本保持一致,核心是利用flex布局的特性与object-fit属性控制图片尺寸:
- 让图片所在的列(
.col)启用flex布局,确保图片能正确继承列的高度 - 给图片设置
width: 100%和height: 100%,用object-fit维持图片比例,避免拉伸变形 - 此时图片容器的高度会完全由文本列的高度决定,无论文本行数多少,图片都会同步匹配高度
调整后的完整代码如下:
CSS 代码
.container { display: flex; width: 100%; } .col { flex: 1; /* 让图片容器使用flex布局,确保图片能填充容器高度 */ display: flex; } img { /* 让图片填满容器 */ width: 100%; height: 100%; /* 保持图片比例,可选cover/contain等模式 */ object-fit: cover; }
HTML 代码
<div class="container"> <div class="col"> <img src="https://via.placeholder.com/150" alt="" /> </div> <div class="col"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </div> </div>
补充说明
object-fit: cover会裁剪图片以填满容器,保持比例;若希望完整显示图片,可改用object-fit: contain,此时图片两侧可能会出现留白- flex布局中两个
.col的高度会自动对齐,图片容器的高度完全由文本列的高度驱动,图片则填满该高度
内容的提问来源于stack exchange,提问作者Patris
相关产品推荐
相关产品推荐

