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

产品卡片布局异常求助:第6张起卡片逐个向上偏移

问题原因与解决方案

核心问题:HTML结构错误

你的HTML代码中每个产品卡片都被单独包裹在一个.product-card-container容器里,而非所有卡片共享同一个外层flex容器。这种结构会让每个卡片成为独立的flex布局单元,当卡片数量增多时,这些独立容器会按块级元素堆叠,视觉上呈现出卡片向上偏移的异常。

修复步骤

1. 修正HTML结构

只保留一个最外层的.product-card-container,将所有.nft卡片作为它的直接子元素:

<div class="product-card-container">
  <div class="nft">
    <div class='main'>
      <img class='tokenImage' src="${productData.image}" alt="NFT" />
      <h2 class="name-prod">${productData.name}</h2>
      <div class='tokenInfo'>
        <div class="price">
          <p>${productData.price} руб</p>
        </div>
      </div>
      <div class="unit">
        <button class="less">-</button>
        <p class="unit-txt">${productData.quantity}</p>
        <button class="more">+</button>
      </div>
    </div>
  </div>
  <div class="nft">
    <div class='main'>
      <img class='tokenImage' src="${productData.image}" alt="NFT" />
      <h2 class="name-prod">${productData.name}</h2>
      <div class='tokenInfo'>
        <div class="price">
          <p>${productData.price} руб</p>
        </div>
      </div>
      <div class="unit">
        <button class="less">-</button>
        <p class="unit-txt">${productData.quantity}</p>
        <button class="more">+</button>
      </div>
    </div>
  </div>
  <!-- 后续所有.nft卡片都嵌套在此容器内 -->
</div>

2. 可选CSS优化

为避免卡片内容高度差异导致的对齐问题,给.product-card-container添加对齐属性:

.product-card-container {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  align-items: flex-start; /* 确保换行后卡片顶部对齐 */
}

效果验证

修正后,所有卡片会在同一个flex容器内有序排列,超出一行宽度时自动换行,无论卡片数量多少都能保持整齐布局,不会再出现向上偏移的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:45:53