在css中使用grid时如何获得元素之间的空间

lf5gs5x2  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(92)

我是grid的新手,我试图在两个元素之间获得空间。当使用align-content: space-between;时,我得到了预期的结果,但当我使用justify-content: space-between;时,什么也没有发生。
如何修改CSS以获得预期的结果?

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  height: 100vh;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(143, 123, 123, 0.4);
}

.container {
  border: 2px solid black;
  border-radius: 5px;
  height: 60%;
  width: 50%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: space-between;
  /* below is the problem that I am having, I assume that there is supposed to be space between the elements but its not working */
  justify-content: space-between;
}

.container .brightness {
  width: 70px;
  height: 70px;
  background-color: black;
}

.container .saturation {
  width: 70px;
  height: 70px;
  background-color: black;
}

.container .inversion {
  width: 70px;
  height: 70px;
  background-color: black;
}

.container .grayscale {
  width: 70px;
  height: 70px;
  background-color: black;
}

个字符

wixjitnu

wixjitnu1#

似乎对align-contentjustify-content在网格容器上下文中的工作方式存在误解。

  • 对象内容沿着块轴工作(对于基于行的网格是垂直的)。
  • justify-content沿着行内轴工作(对于基于行的网格是水平的)。

在你的例子中,由于你在容器中设置了grid-template-columns,它是一个基于行的网格。因此,align-content: space-between;会影响垂直间距,而justify-content: space-between;不会有可见的效果。
如果你想在列之间留出空间,你应该调整容器类中的grid-column-gap属性:

.container {
  border: 2px solid black;
  border-radius: 5px;
  height: 60%;
  width: 50%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: space-between; /* This affects vertical spacing */
  grid-column-gap: 10px; /* Adjust this value to set the horizontal space between columns */
}

字符串

k7fdbhmy

k7fdbhmy2#

你可以做的一件事,如果你想让它们在容器的末端,或者如果你想在它们之间给予一个自定义的间隙,你可以使用差距属性来做,把这些样式添加到饱和度和灰度方块。

.container .saturation{
        width: 70px;
        height: 70px;
        background-color: black;
        display: grid;
        justify-self: end;
    }

.container .grayscale{
    width: 70px;
    height: 70px;
    background-color: black;
    display: grid;
    justify-self: end;
}

字符串

相关问题