Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何使用Flexbox使div填充剩余的垂直空间?_Css_Flexbox - Fatal编程技术网

Css 如何使用Flexbox使div填充剩余的垂直空间?

Css 如何使用Flexbox使div填充剩余的垂直空间?,css,flexbox,Css,Flexbox,我想有3个元素一个页眉,一个页脚,和一些垂直堆叠在页面上的内容。页眉和页脚div具有固定的高度。如何使内容div中间的一个占据剩余的垂直空间? 我对Flexbox的尝试 .包装纸{ 显示器:flex; 弯曲方向:立柱; 宽度:100%; } .标题{ 背景色:红色; 高度:100px; } .内容{ 背景颜色:蓝色; 弹性:1; } .页脚{ 背景颜色:绿色; 高度:30px; } 您的css已经在做您想要实现的事情 flex:1是flex-grow:1的缩写 由于其他项目具有固定高度,fle

我想有3个元素一个页眉,一个页脚,和一些垂直堆叠在页面上的内容。页眉和页脚div具有固定的高度。如何使内容div中间的一个占据剩余的垂直空间?

我对Flexbox的尝试

.包装纸{ 显示器:flex; 弯曲方向:立柱; 宽度:100%; } .标题{ 背景色:红色; 高度:100px; } .内容{ 背景颜色:蓝色; 弹性:1; } .页脚{ 背景颜色:绿色; 高度:30px; }
您的css已经在做您想要实现的事情

flex:1是flex-grow:1的缩写

由于其他项目具有固定高度,flex:1会使内容填满flexbox中的剩余空间。但是,问题是flexbox容器没有高度,如果要覆盖整个页面,应在容器中添加高度:100vh

.wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
}

页脚不需要在开始时位于底部,在内容占据一定空间后,页脚将自动位于底部

.包装纸{ 宽度:100%; } .标题{ 背景色:红色; 高度:100px; } .内容{ 背景颜色:蓝色; 高度:200px; } .页脚{ 背景颜色:绿色; 高度:30px; }
嗨,也许flex grow或height会有帮助?flex grow听起来像是您正在寻找的,但是。内容的大小不会受到它包含多少内容的影响,这可能会导致问题-除非保证小于100vh-60pxtall@SoftwareStudent123你的div没有关闭补丁,FirstAllow div不是一个自动关闭元素,你需要像@Nutan Panta提到的那样关闭它们。我只需要添加calc100vh-{the body padding-16px}我从来没有想过它可以这样做,我通常不做任何事情,因为在某个空间被内容部分占据后,页脚自动地到达底部。如果我们考虑身体,最好的情况是重置默认的身体边缘,并将身体的高度设定为100VH,然后给出包装器div的高度:100%。@BerkKurkcuoglu和你在一起