vue-element-admin 列表页面超出滚动改为满屏显示。

 

效果如下:

列表页面,屏幕自适应始终一屏显示,外层无滚动条,设置表格超出滚动。

 

核心 css

父级元素设置

display: flex;

flex-direction: column;

 

子级元素设置

flex: 1;

 

特别注意 

display: flex; 没有继承性,从最外层的父级元素,一级级的设置到表格的父级元素。

 

表格父级元素 

.screen-card-result {

    display: flex;

    flex-direction: column;

    flex:1 1 auto;

    overflow: hidden;

    margin-bottom: 0;

}

 

表格

<el-table :data="tableData" :fit=true :show-header=true height="100%">

 

知识点总结:

flex:1; 自动撑满父级元素剩余的空间。

flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。

flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。


框架样式修改

\src\layout\components\AppMain.vue

<style lang="scss" scoped>

.app-main {

  /* navbar  50  */

  /* 分页高度  72  */

  min-height: calc(100vh - 122px);

  width: 100%;

  display: flex;

  flex-direction: column;

  position: relative;

  overflow: hidden;

}

 

.fixed-header+.app-main {

  padding-top: 50px;

}

 

.hasTagsView {

  .app-main {

    /* 84 = navbar + tags-view = 50 + 34 */

    /* 84 = navbar + tags-view +分页 = 50 + 34 +72 */

    min-height: calc(100vh - 156px);

  }

 

  .fixed-header+.app-main {

    padding-top: 84px;

  }

}

</style>

 

\src\styles\index.scss

.app-container {

  width:100%;

  box-sizing: border-box;

  padding: 10px 10px 0 10px;

  background: #f5f5f5;

  display: flex;

  flex-direction: column;

  flex:1 1 auto;

  overflow: hidden;

  .el-table .cell{

    padding:0;

  }

}

GitHub 加速计划 / vu / vue-element-admin
87.26 K
30.42 K
下载
PanJiaChen/vue-element-admin: 是一个基于 Vue.js 和 Element UI 的后台管理系统模板,支持多种数据源和插件扩展。该项目提供了一个完整的后台管理系统模板,可以方便地实现后台管理系统的快速搭建和定制,同时支持多种数据源和插件扩展。
最近提交(Master分支:2 个月前 )
0caa975e - 2 年前
cd3f7267 - 2 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐