html - 如何保持 CSS 网格单元格的最小和最大尺寸固定

标签 html css css-grid

我正在尝试使用 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-rowgrid-template-column 更改为 grid-template-rowsgrid- template-columns -- 在您更改这些大小之前,您的任何大小都不会起作用。

2) 将 overflow : auto ; 添加到您的每个元素 CSS 规则中。如果你需要它们,它会给你滚动条,如果你不需要它们,它会隐藏滚动条。

关于html - 如何保持 CSS 网格单元格的最小和最大尺寸固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54753825/

相关文章:

javascript - Jquery - 访问表值(tr 子项 - td)并更改它们

html - 为什么要使用表格来构建布局?

html - Firefox 56 使用任何自定义字体截断文本

html - 在 CSS 网格内垂直对齐列表项

html - Justify-self 不适用于 Chrome 中的绝对定位元素

html - 如何在 CSS 网格中垂直使用所有可用空间?

html5 跨不同浏览器的本地存储

HTML 下拉菜单从左到右而不是直接向下。显示 :block not working

javascript - 光滑的旋转木马移动导航点

javascript - jquery - 选择点击宽度上的最后一个 div