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

CSS定位问题:卡片内两张图片叠加超出容器,求解决方案

解决卡片容器内绝对定位图片叠加超出范围的问题

你的问题核心是绝对定位元素脱离文档流导致的两个问题:父容器.card高度塌陷,无法正常显示卡片样式;图片脱离容器范围,定位基准错误。下面是具体修复步骤:

修复步骤

  • 给.card添加position: relative,建立定位上下文,让内部绝对定位的图片以卡片为基准定位,不会跑到容器外面
  • 调整.card的尺寸,因为绝对定位元素不占文档流,原来的fit-content会失效,直接根据最大图片的尺寸设置高度,确保容器能包裹所有内容
  • 移除图片标签上的内联height/width,统一用CSS控制,避免样式冲突
  • 微调图片的top/right值,确保在卡片内部正确叠加

修改后的完整代码

HTML

<div class="card iphone col-md-12 col-lg-6 ml-auto pt-3">
  <img src="../../../assets/iphone screen.png" class="iphone1 cards" alt="iPhone frame">
  <img src="../../../assets/mobile_screenshot.png" class="mobile cards" alt="Mobile screenshot">
</div>

CSS

.card {
  /* 建立定位上下文,让内部绝对定位元素以卡片为基准 */
  position: relative;
  /* 根据最大图片尺寸设置容器高度,确保包裹所有内容 */
  height: 580px;
  width: fit-content;
  /* 可添加卡片样式,比如边框、阴影等,示例:*/
  /* border: 1px solid #eee; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); */
}

.cards {
  position: absolute;
  border: 1px solid #000;
}

.iphone1 {
  width: 570px;
  height: 560px;
  top: 10px;
  right: 5px;
  border: none;
  z-index: 1;
}

.mobile {
  width: 190px;
  height: 400px;
  border: none;
  border-radius: 10px;
  top: 90px;
  right: 190px;
  z-index: 2;
}

生效原因

  • position: relative让.card成为内部绝对定位元素的包含块,所有top/right取值都以卡片边界为基准,不会超出容器
  • 显式设置.card的height,避免子元素脱离流导致容器高度塌陷,这样卡片的边框、阴影等属性就能正常生效,容器也能完整包裹两张图片

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 20:20:10