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

相关推荐
Shinner欣儿1 分钟前
React18 并发渲染小记
前端
用户921080262869 分钟前
AI 对话里的消息时间线分页:上滑加载更多历史记忆的实现与坑点
前端
PedroQue9912 分钟前
Vue-Router 2.4.0 新增可控重定向功能
前端·uni-app
阿萨德528号35 分钟前
npm 包发布实战指南:从零发布、更新迭代到版本治理
前端·npm·策略模式
IT_陈寒1 小时前
Vue的v-for为啥把我的渲染顺序搞乱套了?
前端·人工智能·后端
sir.山1 小时前
在 Vue 3 项目中使用 Mock 数据
前端·vue.js·vue3·vite
李剑一2 小时前
华为新上Pura X View阔直板手机,特殊屏幕比例设备下,前端应该怎么去适配更完美?送你一套完整工具代码
前端
0xBADCODE2 小时前
Flask SSTI读SECRET_KEY+伪造Session:税务系统渗透全流程
前端·后端·python·安全·web安全·网络安全·flask
01_ice2 小时前
html个人简历展示
前端·html
程序员爱钓鱼2 小时前
Rust where详解:让泛型与Trait约束更加清晰
前端·后端·rust