CSS网格项重叠

时间:2019-10-30 05:33:08

标签: css css-grid

我想使用CSS网格布置一些项目,当它们在同一列中并且重叠时,彼此之间要留出一定的空间。这是一张图片,说明我想要实现的目标:

enter image description here

<div id="container">
 <div id="yoga"></div>
 <div id="samurai"></div>
 <div id="lunch"></div>
</div>
#container {
  width: 600px;
  height: 600px;
  background-color: black;

  display: grid;
}

#yoga {
  background-color: red;

  grid-column-start: 2;
  grid-row-start: 3;
  grid-row-end: 7;
}

#samurai {
  background-color: green;

  grid-column-start: 1;
  grid-row-start: 1;
  grid-row-end: 4;
}

#lunch {
  background-color: blue;

  grid-column-start: 2;
  grid-row-start: 2;
  grid-row-end: 5;
}

这里有一个codepen未能实现的目标。 我想用CSS Grid做些什么吗?我能想到的唯一方法是将列分成更多的列-如果我共享一个列的项目过多,这将变得令人望而却步。

谢谢!

1 个答案:

答案 0 :(得分:0)

您使用的瑜伽起点列错误,应使用grid-template-columns:n容器来设置宽度和列间距以保持间距。使用至少1个分数而不是%,以使列宽保持在提供的空间内。

#container {
grid-template-columns: 50% 1fr 1fr
grid-column-gap: 10px

}
#yoga {
grid-column-start: 3;
}