在3行布局中:
- 顶行的大小应根据其内容而定
- 底行应具有固定的高度(以像素为单位)
- 中间一行应展开以填充容器
问题在于,随着主内容的扩展,它会挤压页眉和页脚行:
HTML:
<;第节>;
<;标题>;
标题:根据内容调整大小
<;br>;(但这是真的吗?)
</标题>;
<;部门>;
主要内容:填充剩余空间<;br>;
x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;
<;!--取消注释以查看其中断--->;
x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;
x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;
x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;
x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;
<;!----&燃气轮机;
</部门>;
<;页脚>;
页脚:px中的固定高度
</页脚>;
</第节>;
CSS:
部分{
显示器:flex;
柔性流动:柱;
对齐项目:拉伸;
高度:300px;
}
标题{
flex:01自动;
背景:番茄;
}
div{
flex:1自动;
背景:金;
溢出:自动;
}
页脚{
flex:01160px;
背景:浅绿色;
/*固定页脚:最小高度:60px*/
}
小提琴:
- http://jsfiddle.net/7yLFL/1/ (工作,内容小)
- http://jsfiddle.net/7yLFL/ (已损坏,内容更大)
我很幸运,我可以使用最新和最好的CSS,而不用考虑传统浏览器。我想我可以使用flex布局最终摆脱旧的基于表的布局。因为某些原因,它没有做我想做的
作为记录,关于“填充剩余高度”有很多相关的问题,但没有解决我在flex中遇到的问题。参考文献:
- 使div填充剩余屏幕空间的高度
- 填充剩余垂直空间-仅CSS
- 与另一个div共享时,是否有一个div来填写容器的剩余高度/宽度
- 使嵌套div拉伸到剩余容器div高度的100%
- 如何使flexbox布局占据100%的垂直空间
- 等
简单点:演示
部分{
显示器:flex;
柔性流动:柱;
高度:300px;
}
标题{
背景:番茄;
/*没有弹性规则,它会增长*/
}
div{
flex:1;/*1,如果没有为其他子级设置flex值,它将填充剩余的全部空间*/
背景:金;
溢出:自动;
}
页脚{
背景:浅绿色;
最小高度:60px;/*最小高度有其目的:),除非您指的是高度*/
}
<;第节>;
<;标题>;
标题:根据内容调整大小
<;br/>;(但这是真的吗?)
</标题>;
<;部门>;
主要内容:填充剩余空间<;br>;x
<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;
<;!--取消注释以查看其中断-->;
x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x
<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x
<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x
<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;
<;!----&燃气轮机;
</部门>;
<;页脚>;
页脚:px中的固定高度
</页脚>;
</第节>
全屏版
部分{
显示器:flex;
柔性流动:柱;
高度:100vh;
}
标题{
背景:番茄;
/*没有弹性规则,它会增长*/
}
div{
弹性:1;
/*1,如果没有为其他子项设置flex值,则它将填充剩余的全部空间*/
背景:金;
溢出:自动;
}
页脚{
背景:浅绿色;
最小高度:60px;
/*最小高度有它的目的:),除非你指的是高度*/
}
身体{
保证金:0;
}
<;第节>;
<;标题>;
标题:根据内容调整大小
<;br/>;(但这是真的吗?)
</标题>;
<;部门>;
主要内容:填充剩余空间<;br>;x
<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;
<;!--取消注释以查看其中断-->;
x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x
<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x
<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x
<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;x<;br>;
<;!----&燃气轮机;
</部门>;
<;页脚>;
页脚:px中的固定高度
</页脚>;
</第节>