flex上中下三栏布局【遗留问题】

overflow-x:hidden overflow-y:scroll flex-grow:1 flex-basis:0/0%
head h:1rem
在这里插入图片描述

overflow-x:hidden overflow-y:scroll flex-basis:0/0%
head h:1rem
在这里插入图片描述

overflow-x:hidden overflow-y:scroll
head h:1rem 高度为什么缩小?
在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" href="../网易云/css/diy-default.css">
		<link rel="stylesheet" href="../网易云/css/resetm.css">
		<style>
			body{
				/* background-color: #00FF7F; */
			}
			header{
				width: 100%;
				height: 1rem;
				background-color: #808080;
			}
			footer{
				width: 100%;
				height: 1rem;
				background-color: #808080;
			}
			footer div{
				padding-top: .5rem;
				height: .5rem;
				background-color: #ADFF2F;
			}
			section{
				flex-grow: 1;
				flex-basis: 0%;
			}
		</style>
	</head>
	<body>
		<div class="flex-box fthreeBox">
			<header></header>
			<section class="fthreeMid">
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				xxx<br>
				
			</section>
			<footer>
				<div></div>
			</footer>
		</div>
	</body>
</html>

解答

overflow-y内容会挤占其他元素位置
flex默认0 1 auto
flex-grow:0默认索取剩余空间,默认值为0
flex-shrink :1超出压缩比例,默认值为1
flex-basis:autoitem自动分配长度
flex-basis:0/0%长度为0

flex-basis:auto 此时为auto

在这里插入图片描述

| flex-basis:0/0% | 长度为0 |

在这里插入图片描述

|flex-grow:1 |默认索取剩余空间 |

| flex-basis:0/0% | 长度为0 |

在这里插入图片描述

-------------------------------------------------------------

总结:

情况一:.fthreeMid什么也不写,宽度默认为flex-basis:auto 自动分配,会挤占左右两侧长度在这里插入图片描述

情况二:.fthreeMid 加上 overflw xy

overflow-x: hidden;
overflow-y: scroll;

左右两侧还剩余一点点空间

在这里插入图片描述

情况三:.fthreeMid 加上 overflw xy 再加上 flex-grow:1

在这里插入图片描述

    overflow-x: hidden;
    overflow-y: scroll;
    flex-grow: 1;

无变化

情况四:.fthreeMid 加上 overflw xy 再加上 flex-grow:1,再加上felx-basis:0/0%,达到预期效果,既不挤占同级盒子元素宽高,又能实现滑动效果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值