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

Flex布局下右侧Div卡片右侧边框不显示问题求助

问题分析与解决:右侧卡片边框不显示

问题原因

你遇到的右侧卡片边框消失问题,核心是CSS盒模型的计算逻辑导致的:
默认CSS盒模型为content-box,元素设置的width仅指代内容区域宽度,border和padding会额外增加元素总宽度。

你的.image元素设置了width: calc(50% - 5px),但内部.image-container还有1px边框,这使得每个.image的实际总宽度变为 calc(50% -5px) + 2px(左右边框各1px)。当flex-wrap换行后,第二行右侧元素的总宽度加上gap会超出容器宽度,最终被容器溢出隐藏截断,因此右边框无法显示。

解决方案

这里提供几个简单可行的解决办法:

方法1:开启border-box盒模型(推荐)

给.image元素设置box-sizing: border-box,让元素的width包含border和padding宽度,避免总宽度溢出:

.image { 
  width: calc(50% - 5px);
  box-sizing: border-box; /* 关键属性 */
}

若想避免后续其他元素遇到类似问题,可直接全局设置盒模型:

* {
  box-sizing: border-box;
}

方法2:调整宽度计算值

手动将边框宽度从.image的width中减去,让总宽度刚好适配容器分配的空间:

.image { 
  width: calc(50% - 5px - 2px); /* 减去左右边框的2px总宽度 */
}

不过这种方法灵活性较差,后续修改边框宽度时需要同步调整计算式。

方法3:把边框移到外层元素

将边框样式直接加到.image元素上,配合border-box使用,逻辑更直观:

.image { 
  width: calc(50% - 5px);
  box-sizing: border-box;
  border: 1px solid var(--IDNFNGS-dropdown-selected);
}

同时移除.image-container的边框样式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:20:29