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处于一种溢出状态(出现滚动条),高度仍然为之前缩小到最小的高度,需要刷新后才会回到正常状态

相关推荐
N***p36511 小时前
SpringBoot返回文件让前端下载的几种方式
前端·spring boot·后端
五号厂房11 小时前
网络请求库通用封装(GET/POST + 超时 + 传参)+fetch
前端
小雨青年11 小时前
智能交互新范式:拒绝“黑盒”,带你用 MateChat 与 DSL 构建“高可靠”的 NL2UI 引擎
前端·ai·华为云
anyup11 小时前
🔥牛逼!3分钟生成 5 套主题,还能一键切换暗黑模式!
前端·前端框架·uni-app
进击的明明11 小时前
深入讨论前端开发中的跨域问题🤔
前端
正在走向自律11 小时前
企业微信消息推送全链路实战:Java后端与Vue前端集成指南
前端·vue.js·企业微信·企业微信消息推送·官方企业微信
_一两风11 小时前
《从一道“诡异”输出题,彻底搞懂 JavaScript 的作用域与执行上下文》
前端·ecmascript 6
lcc18711 小时前
Vue3 CompositionAPI的优势
前端·vue.js
五号厂房11 小时前
聊一聊前端下载文件N种方式
前端
code_Bo11 小时前
使用micro-app 多层嵌套的问题
前端·javascript·架构