flex:1的大坑

一、问题描述

整个类名为roomList 的大盒子设置了flex为1,与它同级的其他盒子都已经设置了宽高,但roomList 依然被内容撑开了,没有自适应

  .roomList {

        flex: 1;

}

 二、原因分析

roomList的整个高度溢出,对于包裹roomList的父盒子(已设置display:flex,flex-direction:column)来说,由于flex主轴上的min-height/width是auto,导致roomList父盒子的min-height是整个父盒子的高度,所以roomList的高度看起来是被撑开了

三、解决方法:

1.设置min-height:0px

  .roomList {

        flex: 1;

        min-height:0px;

}

2.直接设置overflow的相关属性,只要不是overflow: scroll就可以

四、补充flex:1的含义

flex:1是 felx:1 1 0的缩写

1.第一个参数:

flex-grow 放大比例

默认为0(也就是默认如果存在剩余空间,也不放大)

 2.第二个参数:

felx-shrink 缩小比例

默认为1(也就是默认如果空间不足,将缩小)

3.第三个参数:

felx-basis 给以上两个属性分配多余空间之前,计算是否有多余空间

默认为auto,即本身的大小 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值