我正在尝试使用 CSS 网格来构建一个绝对固定的布局。 具有 GUI 元素和文本字段的嵌入式应用程序的布局。单元格大小不应该改变和重新调整它们的大小,如果文本字段的内容溢出,滚动条应该出现,否则整个 GUI 会出错。 但是,无论我尝试什么,我的单元格都会随着内容的增长/收缩而改变大小并重新调整。
设置:
* Desired FIXED layout
* +------------------------+----------------------+
* | | 2 |
* | |----------------------|
* | | 3 |
* | |----------------------|
* | | |
* | | |
* | | |
* | 1 | |
* | | 4 |
* | | |
* | | |
* | | |
* | | |
* | | |
* | | |
* | | |
* |------------------------+----------------------|
* | | 6 |
* | 5 | |
* | |----------------------|
* | | 7 |
* +------------------------+----------------------+
这是我的 MWE。我按照之前的 SX 问题在容器中将 minwidth 和 minheight 设置为 0,但这似乎没有效果(也在元素中尝试过,结果相同)。 (浏览器是 FF 66 开发版,如果重要的话)
.container {
display: grid;
grid-template-row: 70px 70px 310px 110px 30px;
grid-template-column: 450px 350px;
background: #FAEBD7;
height: 590px;
width: 700px;
min-height: 0;
min-width: 0;
}
.item1 {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 1;
grid-row-end: 4;
background: #675443;
}
.item2 {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
background: #42676B;
}
.item3 {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 2;
grid-row-end: 3;
background: #466567;
}
.item4 {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 3;
grid-row-end: 4;
background: #BABBAB;
}
.item5 {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 4;
grid-row-end: 6;
background: #FFD700;
}
.item6 {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 4;
grid-row-end: 5;
background: #FF69B4;
}
.item7 {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 5;
grid-row-end: 6;
background: #ADFF2F;
}
<div class="container">
<div class="item1">1 - Dark brown</div>
<div class="item2">2 - Bluish gray Gray</div>
<div class="item3">3 - Dark grey</div>
<div class="item4">4 - Warm grayish</div>
<div class="item5">5 - Gold (test)</div>
<div class="item6">6 - Hot pink (test)</div>
<div class="item7">7 - Green/Yellow (test)</div>
</div>
最佳答案
1) 将 grid-template-row
和 grid-template-column
更改为 grid-template-rows
和 grid- template-columns
-- 在您更改这些大小之前,您的任何大小都不会起作用。
2) 将 overflow : auto ;
添加到您的每个元素 CSS 规则中。如果你需要它们,它会给你滚动条,如果你不需要它们,它会隐藏滚动条。
关于html - 如何保持 CSS 网格单元格的最小和最大尺寸固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54753825/