【发布时间】:2020-03-12 19:30:03
【问题描述】:
我很难使用 CSS 网格功能创建以下布局,我不确定是否可行:
我可以将顶部和右侧的栏放在表格中的网格之外,但是由于网格的重复部分中的列是固定宽度,我还没有找到不在它们之间留空间的方法,并且侧边栏不让它们伸展。
我尝试了很多不同的方法,但都没有奏效。我认为解决方案看起来像这样:
.my_grid {
display: grid;
justify-content: center;
grid-template-columns: repeat(auto-fit, 300px);
}
.grid_top_bar {
grid-row-start: 1;
grid-row-end: 1;
grid-column-start: 1;
grid-column-end: -1;
}
.grid_right_side_bar {
grid-row-start: 2;
grid-row-end: -1;
grid-column-start: -1;
grid-column-end: -1;
}
.grid_item {
}
<div class="my_grid">
<div class="grid_top_bar">...</div>
<div class="grid_right_side_bar">...</div>
<!-- repeating items -->
<div class="grid_item">...</div>
<div class="grid_item">...</div>
<div class="grid_item">...</div>
...
</div>
...但是这当然行不通。知道是否/如何做到这一点吗?
【问题讨论】:
-
是 4col x Xrows 还是 Xcol x Xrows 网格?
-
您不需要将顶部和侧边栏放到您的网格中。您可以将重复部分设置为网格。使用 Html/Css 作为你的优势,而不是相反。
-
Merlon,正如我所提到的,我无法将侧边栏放在网格之外而不在它们之间留出空间。也许我理解错了,但如果你使用重复,并且列的宽度是固定的,它会使用尽可能多的空间,而其余部分则为空。我可以在右边证明内容,但我无法将整个内容完美地放在页面上......