如果一个盒子为固定宽高 里面有上下两个盒子 上面一个盒子的高度会随着选项改变 怎么使下面一个盒子填满整个空间

news/2024/11/27 22:25:51/

这是一个很常见的布局需求。可以这样实现:1. 外层盒子设置固定宽高,overflow: hidden

css
.outer {width: 500px;height: 300px;overflow: hidden;  
}

2. 上层盒子获取动态高度

css
.upper {height: ?px;  /* 动态高度 */
}

3. 下层盒子设置填满剩余空间

css
.lower {flex-grow: 1;
}

4. 使用 Flexbox 布局,并设置 align-items: stretch

css
.outer {display: flex;align-items: stretch;  
}

5. HTML 结构

html
<div class="outer"><div class="upper">...</div><div class="lower">...</div>  
</div> 

stretch 选项会使 flex 容器的 cross axis 上所有项目的尺寸填满容器,而 flex-grow: 1 会使 .lower 项目占据剩余空间。所以,无论 .upper 的高度如何变化,.lower 项目的高度都会填满剩余空间

一个简单 demo:

html
<div class="outer"><div class="upper"><select v-model="height"> <option value="100">100px</option><option value="200">200px</option>  <option value="300">300px</option></select></div><div class="lower">Flex item</div>
</div>
js
data() {return {height: '100'} 
}
css
.outer {width: 500px;height: 300px;display: flex;align-items: stretch;overflow: hidden;  
}.upper {height: var(--height);  
}.lower {flex-grow: 1;background: #ddd;
} 

这个 demo 选项不同,.upper 的高度会变化,但 .lower 项目的高度总是填满剩余空间。


http://www.ppmy.cn/news/346476.html

相关文章

LVS Keepalived高可用

LVS Keepalived高可用 一、Keepalived及其工作原理1.什么是keepalived&#xff1f;1.1keepalived是一个专为LVS和HA设计的一款健康检查工具1.2keepalived的高可用原理 2.Keepalived体系主要模块及其作用 二、LVS 部署1.配置负载调度器&#xff08;主、备相同&#xff09;2.配置…

nginx启动报错: getpwnam(“nginx“) failed in /etc/nginx/nginx.conf的解决办法

nginx启动报错: getpwnam(“nginx”) failed in /etc/nginx/nginx.conf: 通常是因为nginx.conf配置文件中user nginx;这句配置的用户不存在或者无相应权限的原因. 比如我将配置文件从centos上拷贝到ubuntu上, 就遇到了这个问题, 因为ubuntu默认的是user www-data;. 运行如下命…

android 8 奕骆,全球最大电池容量手机 奕骆D6000发布

深圳特区报讯 近日&#xff0c;在巴塞罗那举行的世界移动通信大会上&#xff0c;INNOS重磅发布2015年旗舰机——奕骆D6000。这款主打超长待机的旗舰机&#xff0c;电池容量高达6000mAh&#xff0c;是目前全球容量最高的手机。 该款手机拥有双电池、双通道智能充电、lucidlogix省…

[已解决]smallbin double linked list

记录一个奇怪的错误&#xff1a; 为备份之前更改好的代码&#xff0c;就直接拷贝啦之前的工程文件夹&#xff08;包含build文件夹&#xff09;&#xff0c;在新的工程文件夹内进行修改代码后&#xff0c;就直接在build文件夹内进行啦make -j4,生成可执行文件后出现下述错误。屡…

飞腾平台编译文件系统

如下网址为飞腾适配的buildroot项目&#xff0c;其中说明支持飞腾腾珑E2000开发板和腾锐D2000开发板。 https://gitee.com/phytium_embedded/phytium-linux-buildroot以下尝试编译针对腾锐D2000开发板镜像。首先下载buildroot&#xff1a; $ git clone https://gitee.com/phy…

Linux系统启动时间优化

优化系统启动时间 前提&#xff08;******重点&#xff09;&#xff1a; &#xff08;1&#xff09; 首先要熟悉系统启动流程&#xff0c;以及每个流程中具体所做的事情 &#xff08;2&#xff09; 测量系统启动流程中每一步所花费的时间&#xff08;这个时间需要与最终优化时间…

基本ROP之ret2shellcode

原理 控制程序执行shellcode代码 shellcode指的是用于完成某个功能的汇编代码&#xff0c;常见的功能主要是获取目标系统的shell。 一般来说&#xff0c;shellcode需要我们自己进行填充&#xff0c;这其实是一种典型的利用方法。 执行条件&#xff1a; 对应二进制在执行时…

1.SD卡初始化、写入、读取、数据比较

设计目标&#xff1a; 1.sd卡初始化完成 2.往sd卡内的某一扇区写入数据 3.将对应扇区中的数据进行读取 4.比较写入数据与读取数据是否一致 sd卡顶层&#xff1a; sd卡采用spi模式&#xff0c;有片选cs、时钟clk、命令线mosi、数据线miso四个引脚 例化sd初始化&#xff0…