使用 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;
  }
}
相关推荐
ttod_qzstudio29 分钟前
Vue 3 中 toRaw 的取舍之道:以 Babylon.js 3D 开发为例
vue.js·babylonjs
Mr Xu_1 小时前
Vue3 + Element Plus 实战:App 版本管理后台——动态生成下载二维码与封装文件上传
前端·javascript·vue.js
比特森林探险记1 小时前
Vue基础语法与响应式系统详解
前端·javascript·vue.js
zihan03212 小时前
element-plus, el-table 表头按照指定字段升降序的功能实现
前端·vue.js·状态模式
三翼鸟数字化技术团队2 小时前
watchEffect的两种错误用法
前端·javascript·vue.js
HWL56793 小时前
一个CSS属性will-change: transform
前端·css
我是伪码农4 小时前
Vue 1.28
前端·javascript·vue.js
利刃大大4 小时前
【Vue】scoped作用 && 父子组件通信 && props && emit
前端·javascript·vue.js
-凌凌漆-4 小时前
【Vue】Vue3 vite build 之后空白
前端·javascript·vue.js
qq_336313935 小时前
javaweb-Vue3
前端·javascript·vue.js