flex布局实现上下固定高度,中间自适应布局

2022年7月8日11:15:53

flex布局实现上下固定高度,中间自适应布局

flex布局在实际开发中越来越常用,实现左右宽度或者上下高度固定,中间自适应的布局的实际需求也很常见。实现起来也很简单:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>flex</title>
	<style type="text/css">
		body{
			padding: 0;
			margin: 0;
		}
		.container{
			height: calc(100vh - 50px);
			background-color: black;
			display: flex;
			flex-direction: column;
		}
		.header{
			width: 100%;
			height: 100px;
			background-color: #e77c8e;
		}
		.main{
			width: 100%;
			flex: 1;
			background-color: #2bae85;
		}
		.footer{
			width: 100%;
			height: 100px;
			background-color: #7a7374;
		}
	</style>
</head>
<body>
	<div class="container">
		<div class="header">header</div>
		<div class="main">main</div>
		<div class="footer">footer</div>
	</div>
</body>
</html>

注意点:
1、container父容器的高度必须是一个可以计算出来的固定高度。
2、实际开发中因为中间部分内容层级太多,甚至嵌套表格等,使得自适应无法生效。这时候要看一下中间自适应部分的高度是否从父容器继承过来,可以试给table高度不对的那一层设置 height:100%; 或者 height:inherit; 试一下能否生效。

  • 作者:不安分的魔菇
  • 原文链接:https://blog.csdn.net/sinat_31680159/article/details/97623550
    更新时间:2022年7月8日11:15:53 ,共 776 字。