el-table二次封装实现自适应页面(CSS)

问题背景

在使用各种表格的时候,会因为不同电脑的显示预设不同,即便是1080*1920的屏幕,有默认显示125%的,或是100%的,通常我们只能设置给定的height或者maxheight,这时候就产生了表格高度的问题。

以1080P为例子

125%下的页面情况

100%下的页面情况

为此希望解决这种下方留白以及需要为每个页面去设置高度的麻烦,这边使用的是flex布局来进行解决(当然也可以使用grid的fr)

解决方案

下给出简单的布局示意图

红框作为main,蓝色块为选择表单块为form,绿色为表格块flexTable 下面给出实例HTML结构与css代码

html 复制代码
<div class='main'>
<form></form>
<div class='flexTable'>
<el-table height='100%'></el-table>
</div>
</div>
css 复制代码
.main{
display:flex;
flex-direction:column;
height:100%;
}
.flexTable{
flex:1;
}

核心思想就是利用flex-grow来让flexTable这块自适应填充满页面,内部的el-table也可以通过100%来获取父盒子的高度,进而实现不同页面自适应效果。

不足

如果在同一设备上进行缩小后再放大,此时的flexbox处于一种溢出状态(出现滚动条),高度仍然为之前缩小到最小的高度,需要刷新后才会回到正常状态

相关推荐
用户360055579004 分钟前
Kestrel_VLLM_CUDA -09 · full-GPU decode:单 token 全设备
前端
kyriewen11 分钟前
我上手了 Vite+ 1.0:Node 不用自己装,lint 却翻车了
前端·javascript·程序员
松就是我9029813 分钟前
你的 PPT 不缺内容,缺一个讲它的人
前端
松就是我9029816 分钟前
别再熬夜做 PPT 了!输入一个主题,AI 帮你把整套幻灯片做好,还能随便改字
前端
吴凡wudianmei17 分钟前
每调一次模型都花钱?如何用工程手段把调用压到最少?
前端·后端·架构
李元_霸18 分钟前
基于 AI 的 Web 与 App 端到端测试实践
前端·人工智能
欣欣之王来了23 分钟前
Vue3项目脚手架:Vite vs Vue CLI怎么选?
前端·学习·架构·项目·vue3教程
用户27886072856736 分钟前
别把 tool.completed 当成业务成功:AI 工具权限审计的四层事件链
前端
陆柒14540 分钟前
跟着 Webpack 配置学习前端工程化
前端
用户6353300254791 小时前
Day 1|HTML5:一个商城首页的骨架,从 DOCTYPE 到语义化
前端