使用 flex 简单实现 table 自适应页面

效果

  • 保证页面其他模块宽度高度自适应,动态改变中部 table 的高度

  • 当页面整体宽度较小,顶部搜索模块高度自动撑开时,table 宽度动态变小,只展示 4 行数据。

  • 当页面整体宽度较大,顶部搜索模块没那么高,table 高度自动变大,展示 7 行数据。

实现

  • 利用 el-table 的固定表头的特性,设置 el-table 的高度为 100%
  • 再利用 flex-grow 的特性,设置 el-table 的父盒子属性为 flex-frow: 1,自动分配空间内的剩余高度
  • 关键代码
css 复制代码
// 最外层根组件
.validateForm {
  height: 100%;
  display: flex;
  flex-direction: column;
  // el-table 的父盒子 - 设置 flex-grow,还需要设置一个最小高,表示该元素参与高度分配
  .table {
    min-height: 10px;
    flex-grow: 1;
  }
}
相关推荐
MacroZheng6 分钟前
腾讯又开源了一个新项目,用起来真优雅!
前端·vue.js·人工智能
山川志~2 小时前
Vue + Element UI 实战:如何实现表格时间、金额字段排序
vue.js·ui·elementui
用户0595401744614 小时前
把 AI 长期记忆去重测试从 20 分钟压到 40 秒,重复率从 18% 干到 1.5%
前端·css
_codemonster15 小时前
Vue中的ref和reactive到底在干嘛
前端·javascript·vue.js
码艺-Alimjan19 小时前
横向滚动组件纯用 CSS,丝滑鼠标滚动不许js
javascript·css·计算机外设
前端fighter19 小时前
线上崩溃?使用 TRAE Work 5分钟把混淆日志翻译成人话并输出复盘报告
前端·vue.js·程序员
常宇佳20 小时前
vue3 实战系列之无法识别vue组件
前端·javascript·vue.js
你别说话了21 小时前
动态给vue的Data添加一个新的属性数据更新但是页面没有更新,怎么解决
前端·javascript·vue.js
daols8821 小时前
vue 实现基于 vxe-table 构建多维度产品对比表
前端·javascript·vue.js
砚凝霜1 天前
软考网络工程师|案例分析:Eth‑Trunk 链路聚合、iStack 堆叠、CSS 集群核心考点总结
前端·css·网络