提问人:denis kiplangat 提问时间:11/15/2023 最后编辑:Paulie_Ddenis kiplangat 更新时间:11/15/2023 访问量:90
在css中使用网格时如何获得元素之间的空间
How do i get space between of elements when using grid in css
问:
我是新手,并试图在两个元素之间获得空间。使用时,我得到了预期的结果,但当我使用时,什么也没发生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;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>stackoverflow questions</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<div class="brightness"></div>
<div class="saturation"></div>
<div class="inversion"></div>
<div class="grayscale"></div>
</div>
</body>
</html>
答:
0赞
Nishant Fulara
11/15/2023
#1
您可以做的一件事是,如果您希望这些样式位于容器的末尾,则可以将这些样式添加到饱和度和灰度方块中,或者如果您想在它们之间提供自定义间隙,则可以使用 gap 属性来实现。
.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;
}
评论
0赞
denis kiplangat
11/15/2023
我已经试过了,但它不起作用......jsfiddle.net/camindo/o9rzc1k4/3
0赞
Jeevan ebi
11/15/2023
#2
似乎对网格容器上下文中的工作方式存在误解。align-content
justify-content
align-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 */
}
评论
0赞
denis kiplangat
11/15/2023
它的工作原理并不像我想象的那样直观。
0赞
denis kiplangat
11/15/2023
你会如何做到,让所有元素都接触侧面?
0赞
Jeevan ebi
11/15/2023
我很高兴听到它对你有用!我没有让你清楚,请描述你的具体布局,这样我就可以帮助你相应地调整CSS。so that all elements touch the side
0赞
denis kiplangat
11/15/2023
我希望两个元素粘在左边距上,另外两个元素粘在右边距上。与我如何使用 align-content: space-between 相似;两个元素粘在顶部,两个元素粘在底部。看看如何触摸底部和顶部的这个小提琴 jsfiddle.net/camindo/o9rzc1k4/14aligncontent
评论
align-content: space-between;