使用 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;
  }
}
相关推荐
满栀5855 小时前
Vue.js 接口封装最佳实践:从基础到高级
前端·javascript·vue.js
用户059540174466 小时前
把AI对话记忆测试从手动比对到Pytest+Redis自动化,验证效率提升了10倍,还顺带揪出3个隐蔽bug
前端·css
java1234_小锋7 小时前
Vue3专题 - 事件处理
javascript·vue.js
宿6749 小时前
vue3-DOM树
前端·javascript·vue.js
宿67415 小时前
tsconfig.node.json
前端·javascript·vue.js
lllsure17 小时前
Vue&React Router
前端·vue.js·react.js
踩着两条虫1 天前
VTJ.PRO AI Agent 技术白皮书
前端·vue.js·低代码
java1234_小锋2 天前
Vue3专题 - 列表渲染
vue.js
小锋java12342 天前
【技术专题】Vue3 - 列表渲染
vue.js·vite
用户059540174462 天前
把AI聊天机器人记忆存储测试从3小时压到5分钟,我用Pytest + Docker搭了一套自动化回归
前端·css