html - CSS 网格布局行高为空时为 0px

标签 html css css-grid

我有一个 html:

<div id="container">
    <div id="child1"></div>
    <div id="child2">
        <div id="fullpage"></div>
    </div>
    <div id="child3"></div>
</div>

和CSS:

#container {
    display:grid;
    grid-template-rows: minmax(0, auto) auto minmax(0,75px);
}

空的 child1 的高度将填充顶部屏幕和 child2 之间的间隙。我认为 minmax(0, auto) 会将子 1 插入 0px 高度?

我想要的是当子元素为空或者其中的元素被隐藏时,高度应该为0。

我怎样才能实现这个目标?


已编辑

#container-wrapper {
  display:grid;
  grid-template-rows: auto minmax(0,75px);
  height:100vh;
}
<div id="container-wrapper">
        <div id="pageContainer" style="background-color:red">
          <div>test</div>
        </div>
        <div id="tab-navigation" style="background-color:green">
          <!-- This should be 0px -->
        </div>
    </div>

第二个子元素的高度应为 0px。但这是错误的。

最佳答案

像下面这样做:

#container {
  display: grid;
  height:200px;
  margin:10px;
  border:1px solid red;
  grid-template-rows: auto 1fr auto;
}

#container  > * {
  border:1px solid;
}
#child3 {
  max-height:75px;
}

#fullpage {
  height:100%;
  background:green;
}
<div id="container">
  <div id="child1"></div>
  <div id="child2">
    <div id="fullpage"></div>
  </div>
  <div id="child3"></div>
</div>

<div id="container">
  <div id="child1"> some content <br> here</div>
  <div id="child2">
    <div id="fullpage"></div>
  </div>
  <div id="child3"></div>
</div>

<div id="container">
  <div id="child1"> some content <br> here</div>
  <div id="child2">
    <div id="fullpage"></div>
  </div>
  <div id="child3"> and also here </div>
</div>

关于html - CSS 网格布局行高为空时为 0px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65856316/

相关文章:

javascript - 在 CSS 中更改图像?

html - 如何在不使用 Javascript 的情况下跟踪有多少用户点击了我网站上的特定按钮?

html - 左侧菜单板 - 使一侧部分模糊和透明

css - 固定的页眉和页脚,在 1fr CSS 网格区域内带有可滚动的侧边栏

javascript - 将网页上的模拟 javascript 终端窗口保持在固定位置

javascript - 显示/隐藏 div 中 <ul> 列表的多个分页

html - 固定 VS 滚动的绝对定位

javascript - 如何使用 jquery 为无限循环设置动画?

javascript - CSS Grid 在现有网格元素之上填充动画并占据整个视口(viewport)

css - 如果我们在 CSS 网格中有更多列,为什么内容大小会不同?