使用 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;
  }
}
相关推荐
xiangxiongfly9152 小时前
Vue3 根据角色权限动态加载路由
前端·javascript·vue.js·动态加载路由
Aolith2 小时前
我是怎么把个人论坛首页性能从80分优化到100分的(附踩坑全记录)
vue.js·性能优化
Amy_yang3 小时前
uni-app 安卓端纯前端预览 DOCX 的实现思路
前端·vue.js
梨子同志3 小时前
CSS Grid
前端·css
xiangxiongfly9153 小时前
Vue3 动态加载静态资源
前端·javascript·vue.js
克里斯蒂亚诺更新3 小时前
ruoyi切换新版本初始化需要修改的地方
前端·javascript·vue.js
前端那点事4 小时前
Vite+Vue3环境判断终极解法!区分开发/生产环境,告别环境报错
前端·vue.js
ZHIS4 小时前
移动端 Vue3 高清 PDF 预览组件开发:支持手势缩放 + 按钮缩放 + 加载进度
vue.js
Amy_yang5 小时前
uni-app 中 web-view 的使用与 App 端全屏问题处理
前端·javascript·vue.js
蜡台7 小时前
Vue3 Hook 与 Store 状态管理:深度解析与选型指南
前端·javascript·vue.js