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

CSS Grid布局下图片无法分列显示的问题求助

问题根源

你给section.authentic设置了两列grid,但所有内容(标题、段落、图片)都嵌套在同一个.right-col容器里——这相当于grid的第一列放了这个div,第二列完全是空的,图片自然只会在段落下方,float:right和调整行高当然没用(grid布局里float会失效)。

两种解决方案

根据你的需求选一种:

方案1:标题段落左列,图片右列

直接调整HTML结构,让section的子元素分成两个容器,分别对应grid的两列:

<section class="authentic">
  <div class="text-col">
    <h2>Authentic. Awesome</h2>
    <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Temporibus iste neque asperiores dolores eligendi tempore quia, cupiditate exercitationem fugiat eius.</p>
  </div>
  <div class="image-col">
    <img src="images/food.jpg" alt="bowl">
  </div>
</section>

CSS保持你的grid设置即可,还能加个间距优化排版:

section.authentic {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  gap: 20px; /* 可选:列之间的间距 */
}

方案2:在.right-col内部实现文字+图片分列

如果不想改HTML,就把grid布局应用到.right-col上,同时指定文字和图片的列位置:

/* 先移除section的grid设置(或按需调整) */
section.authentic {
  /* 原grid代码可以删掉 */
}

.right-col {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  gap: 20px;
}

/* 让标题和段落合并占第一列 */
.right-col h2, .right-col p {
  grid-column: 1 / 2;
}

/* 图片放在第二列 */
.right-col img {
  grid-column: 2 / 3;
  object-fit: cover; /* 可选:防止图片变形 */
  height: 100%; /* 可选:让图片和文字区域高度对齐 */
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:45:42