首页 > 解决方案 > 如何在网格布局中定位最底部的容器

问题描述

这是我所拥有的快速演示: https ://codepen.io/brslv/pen/RwobvgP?editors=1100

所以,有一个.containerdiv,它是一个gridwith grid-template-rows: 100px auto auto

我需要能够:

所以本质上:

|------------------------------------------
| Section A: 100px
|------------------------------------------
|
|
| Section B: 100% - A - C(variable height)
|
|
|------------------------------------------
| Section C: variable height, min: 100px
| (here is the autosizing text-area)
|------------------------------------------

在我的演示中它按预期工作(https://codepen.io/brslv/pen/RwobvgP?editors=1100)。但是,如果中间 div 只有一两个项目,它就会中断,因为中间 div 不够高,底部最能补偿它,这是我想要避免的。

我想只做css,但如果不可能,我将不得不编写一个小JS来“手动”调整中间的大小......

任何想法如何解决仅使用 css 的问题?

标签: javascriptcss

解决方案


您可以更改您的 css 代码并制作它:

    .container {
       height: 100vh;
       display: grid;
       grid-template-rows: 100px 1fr auto;
    }

你想要的是1fr。这样,中间的 div 将填充所有可用的空白空间。有关 fr 单元的详细信息,请参见此处:https ://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout#the_fr_unit


推荐阅读