【问题标题】:How to keep both min and max size of CSS grid cells fixed如何保持 CSS 网格单元的最小和最大大小固定
【发布时间】:2019-02-18 19:07:13
【问题描述】:

我正在尝试使用 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>

【问题讨论】:

    标签: html css css-grid


    【解决方案1】:

    1) 将 grid-template-rowgrid-template-column 更改为 grid-template-rowsgrid-template-columns - 在您更改之前,您的任何尺寸都不会起作用。

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

    【讨论】:

      猜你喜欢
      • 2012-02-04
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2021-05-04
      • 2012-10-28
      • 1970-01-01
      相关资源
      最近更新 更多