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

如何实现卡片(card)内部的两个div元素并排显示

个人资料卡片Grid布局修复方案

问题表现

使用Grid布局实现个人资料卡片时出现元素错位问题,实际输出效果和预期存在偏差:

  • 实际输出效果:output
  • 预期实现效果:expected result
  • 当前相关代码:code

核心问题原因

没有做层级拆分,所有元素直接在最外层Grid容器中排列,导致Grid自动按单元格分配位置,出现错乱。

具体修复方案

第一步:调整最外层Grid配置

给卡片最外层容器设置如下CSS属性,直接拆分左右两栏:

.profile-card {
  display: grid;
  /* 左侧固定宽度放头像,右侧占剩余所有宽度 */
  grid-template-columns: 120px 1fr;
  /* 两栏之间的间距,可按需调整 */
  column-gap: 20px;
  padding: 24px;
  /* 垂直对齐头像和右侧内容 */
  align-items: center;
  border-radius: 16px;
  /* 其他你需要的卡片基础样式 */
}

第二步:拆分右侧内容层级

把姓名、职位、统计数据全部包裹在一个独立的内容容器中,给这个容器设置垂直布局:

.profile-content {
  display: grid;
  /* 上下两块高度自适应内容 */
  grid-template-rows: auto auto;
  row-gap: 16px;
}

第三步:设置统计数据行布局

统计数据部分单独用Grid做三等分排列:

.profile-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

配套HTML结构参考

<div class="profile-card">
  <!-- 左侧头像区域 -->
  <img class="avatar" src="你的头像地址" alt="用户头像">
  <!-- 右侧内容区域 -->
  <div class="profile-content">
    <div class="user-base">
      <h3>李小明</h3>
      <p>前端开发工程师</p>
    </div>
    <div class="profile-stats">
      <div class="stat-item">
        <p class="stat-num">213</p>
        <p class="stat-label">关注</p>
      </div>
      <div class="stat-item">
        <p class="stat-num">1.2k</p>
        <p class="stat-label">粉丝</p>
      </div>
      <div class="stat-item">
        <p class="stat-num">37</p>
        <p class="stat-label">作品</p>
      </div>
    </div>
  </div>
</div>

按上述代码调整后即可实现预期的布局效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:15:05