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

视口缩小时flex子项不保留高度 Chrome下SVG图标高度不一致问题

解决方法

这个Chrome独有的异常表现是Flex布局默认收缩规则与SVG比例计算的浏览器兼容差异导致的:当外层flex容器宽度不足时,Chrome默认允许所有flex子项自动收缩,长方形SVG的容器固有宽度更大,收缩幅度更高,最终导致高度被挤压得比正方形图标更小。

你只需要修改CSS如下即可解决问题,不需要调整外层容器的50%宽度设置:

.general-container{
  background-color: peachpuff;
  display: flex;
  flex-direction: row;
  width: 50%;
  justify-content: space-between;
  margin: 0 auto;
  /* 可选补充:容器宽度不足时显示横向滚动条,避免图标被挤压 */
  overflow-x: auto;
}
.icon-container{
  display: block;
  margin: 0 2px;
  height: 80px;
  /* 新增:禁止flex子项自动收缩 */
  flex-shrink: 0;
  /* 新增:容器宽度自动适配SVG内容比例 */
  width: fit-content;
}
/* 可选补充:明确指定SVG优先适配容器高度,宽度按比例自适应 */
.icon-container svg {
  height: 100%;
  width: auto;
}

修改后所有图标会始终保持80px的统一高度,长方形和正方形图标缩放比例完全一致,Chrome和Firefox下表现相同。如果需要在容器宽度不足时让所有图标等比例缩小、仍保持统一高度,只需要删除flex-shrink: 0和overflow-x: auto即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 06:45:07