CSS 网格:为什么我应该在下面的部分在这里移到了上面的行?

CSS Grid: Why do my sections that supposed to be below are moved up to the upper rows here?

我正在尝试使用 CSS 设置网格,出于某种原因,我定义为进入较低行的元素正在以这种方式合并到上面的 运行 中:

我在主元素上的代码:

  #block-container {
    border: 1px solid steelblue;
    width: 50%;

    display: grid;
    grid-template-columns: repeat(5, 20%);
    grid-template-rows: repeat(4, 1fr);
    grid-template-areas: 
      "header header header header header"
      "break-setup break-setup . session-setup session-setup"
      "................ timer timer timer .................."
      ".......... .......... buttons ............ ..........";
  }

和其他元素:

#title {
  grid-area: header;

  border: 1px solid magenta;
}

#break-setup-container {
  grid-area: break-setup;
  border: 1px solid magenta;
}

#session-setup-container {
 grid-area: session-setup;
 border: 1px solid magenta;
}

#running-time-section {
  grid-area: timer;
  border: 1px solid green;
}

#start-stop-buttons-container {
  grid-area: buttons;
  border: 1px solid blue;
}

你能告诉我为什么会这样吗?我该如何解决?

更新:

我实际上能够在具有这种网格布局的孤立情况下使其正常工作,我直接使用了 HTML 和 CSS (isolated grid)。不确定为什么它在我的 React 设置中不起作用

问题是,在我的 React JSX 代码中,我试图将最后两个元素添加到网格中,但它们不是父元素的直接子元素 <div></div>,因此它违反了网格的父子规则布局。

为了解决这个问题,我必须将 #running-time-section#start-stop-buttons-container 的父容器添加到网格中,而不是将它们分别添加到网格中,然后在该容器中单独排列这些元素