使用 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;
  }
}
相关推荐
PeterMap4 分钟前
Vue条件渲染详解:v-if、v-show用法与实战指南
前端·vue.js
Hilaku5 分钟前
别再用 JSON.parse 深拷贝了,聊聊 StructuredClone
前端·javascript·vue.js
HoneyMoose1 小时前
Jenkins 构建 VUE 前端提示 pnpm 错误
前端·vue.js·jenkins
爱上好庆祝1 小时前
clip-path裁剪,css的滤镜,动画时间线,css的变量和函数
前端·css·学习·html·css3
落魄江湖行2 小时前
基础篇九 Nuxt4 插件系统:扩展 Nuxt 能力
前端·vue.js·typescript·nuxt4
七月稻草人2 小时前
Spring Boot + Vue 3 全栈项目,内网穿透实现 HTTPS 公网访问,前后端分离部署方案
vue.js·spring boot·https
冲浪中台2 小时前
20个常用的CSS知识点
前端·css
qq_2837200511 小时前
Python Celery + FastAPI + Vue 全栈异步任务实战
vue.js·python·fastapi
吴声子夜歌13 小时前
Vue3——Vue实例与数据绑定
前端·javascript·vue.js