使用 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;
  }
}
相关推荐
老毛肚19 分钟前
jeecgboot TS + Vue 模板化 03
前端·javascript·vue.js
FlyWIHTSKY25 分钟前
React 19 + Next.js 16(App Router)项目中集成 MSW
开发语言·javascript·vue.js
希冀1232 小时前
【CSS学习第八篇】
css·学习·tensorflow
用户059540174462 小时前
用LangChain+Chroma实现RAG多轮对话记忆与自动化测试,把bug发现时间从2小时压缩到5分钟
前端·css
2401_868534782 小时前
常见的 vue面试题目
前端·javascript·vue.js
用户059540174463 小时前
我把RAG对话记忆测试从手工用例改成ChromaDB自动化评估,Bug发现率翻了4倍
前端·css
向日的葵0063 小时前
vue路由(二)
前端·javascript·vue.js·vue
xkxnq4 小时前
第八阶段:工程化、质量管控与高级拓展(130天),Vue端到端测试:Cypress自动化测试(登录流程+表单提交+页面跳转)
前端·vue.js·flutter
老毛肚4 小时前
jeecgboot vue API 拆分02
前端·javascript·vue.js
爱因斯坦乐15 小时前
Vue项目整合
前端·javascript·vue.js