css让目标盒子占满父盒子剩余的所有高度(兄弟盒子的高度是变化的)

一、背景简述

    日常开发中,我们会遇到一个父盒子下面有多个兄弟元素,且兄弟元素的高度可能随着业务数据的变动而发生改变,而我们需要目标子盒子的高度占据满剩余高度,这个时候没办法设置height百分百(会超出导致父盒子产生滚动条),也没办法使用calc计算(兄弟盒子的高度未知),这时候就可以使用flex布局实现。

    具体来说:可以将父元素设置为 display: flex 和 flex-direction: column,然后将 listDiv 设置为 flex-grow: 1,这样它就会占据剩余的所有高度。

二、实现代码

1.页面布局代码

 <div class="containerDiv">
      <div class="tagsDiv">XXX</div>
      <div class="listDiv">YYY</div>
 </div>

2.css代码

假设兄弟tagsDiv随业务数据变化,高度会被内容撑开逐渐变化

    containerDiv: {
        display: "flex",
        flexDirection: "column",
        height: "100%", // 确保父元素占据全高
    },
    listDiv: {
        flexGrow: 1, // 占据剩余的所有高度
        overflow: "auto", // 如果内容超出高度,添加滚动条
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值