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

如何消除Grid布局中Google与Developer Jr后的过大间距?

解决"Google"与"Developer Jr"之间过大间距的问题

问题根源

你的.project-xp采用了grid-template-columns: 1fr 1fr布局,导致<h3>和<span>各自占据一整列网格单元,两者之间的间距来自网格的列间隙(即gap: 10px 20px中的20px)。这就是调整padding或align属性无效的核心原因——它们不在同一个网格单元格内。

修复方案

以下两种简单方法可解决该问题:

方法一:将标题元素包裹在同一容器中

把<h3>和<span>放入同一个div容器,让它们共享一个网格单元格,即可自由控制两者间距:

<section id="projects">
  <div class="project-xp">
    <div class="title-group">
      <h3 class="project-title">Google</h3> <span class="project-title">Developer Jr</span>
    </div>
    <p class="project-p">paragraph - text test.</p>
    <ul class="project-skills">
      <li>HTMl</li>
      <li>CSS</li>
      <li>JavaScript</li>
      <li>UI Design</li>
      <li>UX Design</li>
    </ul>
  </div>

  <div class="project-xp">
    <div class="title-group">
      <h3 class="project-title">google</h3>
      <span class="project-title">Developer Jr</span>
    </div>
    <p class="project-p">paragraph - text test..</p>
    <ul class="project-skills">
      <li>HTMl</li>
      <li>CSS</li>
      <li>UI Design</li>
      <li>UX Design</li>
    </ul>
  </div>
</section>

<style>
  .project-xp {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1200px;
    background-color: #FDF5E8;
    padding: 30px;
    margin: 0 auto;
    justify-items: left;
    gap: 10px 20px;
    margin-bottom: 40px;
    border-radius: 4px;
  }
  /* 新增标题组样式,自定义间距 */
  .title-group {
    display: flex;
    gap: 10px; /* 可修改此值调整标题间间距 */
    align-items: baseline;
  }
  .project-title {
    color: #31110B;
    font-size: 1.5rem;
    font-family: "fira sans", system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-weight: 500;
    line-height: 1.1;
    margin: 0px;
  }
  .project-p {
    color: #31110B;
    font-size: 1.25rem;
    font-family: "fira sans", Arial, Helvetica, sans-serif;
    font-weight: 400;
    max-width: 35ch;
    padding: 0px;
    line-height: 1.6;
  }
  .project-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 40ch;
    padding: 0px;
  }
 .project-skills li {
    color: #462A00;
    font-size: 1rem;
    line-height: 1.4;
    font-family: "fira sans", Arial, Helvetica, sans-serif;
    list-style: none;
    padding: 5px 15px;
    background-color: #F0D5AB;
    margin-bottom: 5px;
    border-radius: 4px;
  }
</style>

方法二:调整网格模板结构

通过grid-template-areas让标题区域横跨两列,后续元素保持原布局:

.project-xp {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: 
    "title title"
    "desc skills";
  max-width: 1200px;
  background-color: #FDF5E8;
  padding: 30px;
  margin: 0 auto;
  justify-items: left;
  gap: 10px 20px;
  margin-bottom: 40px;
  border-radius: 4px;
}
.title-group {
  grid-area: title;
  display: flex;
  gap: 10px;
  align-items: baseline;
}
.project-p {
  grid-area: desc;
}
.project-skills {
  grid-area: skills;
}

说明

两种方法均有效,方法一操作简单,适合快速修复;方法二更适合需要精确控制网格区域的复杂布局场景。调整.title-group中的gap值即可自定义标题间的间距大小。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 07:54:59