html - CSS Grid - 行高度相同(最大高度)

标签 html css css-grid

我试图让我的行在 CSS 网格中具有相同的高度,但同时,应该有一个由 vh 指定的最大高度。我想要的是,如果有 4 行,最大高度为 100vh,而这 4 行中当前最大的高度是 70vh,我想要所有行都为 70vh。但是,如果假定最大高度为 120vh,我希望所有行的高度都为 100vh。有办法吗?下面是我到目前为止的代码,我是 CSS 网格的新手所以请帮助我!如果有什么更简单的方法可以实现我想做的事情,请帮助指导我,谢谢!

.project-grid {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
    row-gap: 1%;
    grid-template-areas: "card" "activities" "requirements" "quotations" "notations"
}

.card-row {
    grid-area: card;
}

.activities-box {
    grid-area: activities;
    overflow: auto;
}

.requirements-box {
    grid-area: requirements;
    overflow: auto;
}

.quotations-box {
    grid-area: quotations;
    overflow: auto;
}

.notations-box {
    grid-area: notations;
    overflow: auto;
}

有了这个,行都遵循相同的最大高度,但没有设置最大高度。

最佳答案

只需将 max-height 设置为网格项:

.box {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: 1fr;
  row-gap: 5px;
}

.box > * {
  max-height:100vh;
  overflow:auto;
  border:2px solid red;
  background:#f2f2f2;
  box-sizing:border-box;
}
<div class="box">
  <div><div style="height:50vh"></div></div>
  <div></div>
  <div></div>
  <div></div>
</div>

内容大于100vh;

.box {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-rows: 1fr;
  row-gap: 5px;
}

.box > * {
  max-height:100vh;
  overflow:auto;
  border:2px solid red;
  background:#f2f2f2;
  box-sizing:border-box;
}

body {
  margin:0;
}
<div class="box">
  <div><div style="height:130vh"></div></div>
  <div></div>
  <div></div>
  <div></div>
</div>

关于html - CSS Grid - 行高度相同(最大高度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62626333/

相关文章:

html - 我可以在 px 行高内包含我的 em 大小的字体吗?

html - 使用 CSS 添加虚线间隔器/填充

HTML 图像嵌入链接在 wordpress 中不起作用

css - 如何在 CSS Grid 中使图像居中?

css - 网格项的等高子项

javascript - 单击时删除最接近的表单

html - 如何使用左侧的 Logo 和菜单链接以及右侧的表单控件来设置内联导航栏的样式

html - 居中导航栏不起作用

CSS绝对定位不起作用

CSS 网格 - 具有循环逻辑的行跨越