element ui 表格el-table宽度不能自适应

问题描述

用了flex布局,左侧固定宽度,右侧flex:1;(表格在右侧区域),且中间容器都有width:100%,当将屏幕变大,表格随着变宽,当屏幕变小时,表格不会随着屏幕变小,宽度无法自适应。

(一) 解决方法1

在右侧区域,即flex:1;区域overflow:hidden即可解决。(给表格的父元素加)

.body {
    display: flex;
    width: 100%;
    height: 100%;
    //左侧
    .left-menu {
      width: 150px;
      height: 100%;
    }
    //右侧(含有表格)
    .content {
      flex: 1;
      height: 100%;
      padding: 16px 24px;
      overflow: hidden;
    }
  }

(二) 解决方法2(参考别人,亲测好用)

由于element 内部的table宽度计算是根据父级元素来的。当时flex布局时,嵌套的子元素有一个是固定宽度且大于外层父级元素的伸缩宽度时,那么素有的嵌套元素都不会继续缩放了。
因此,通过给目标元素添加绝对定位,让其从原来的flex布局下的嵌套关系中脱离出来,在根据需要给他添加一个相对定位的父元素,将其布局在需要的位置。

.item-body {
	display: flex;
	height: 100%; // 此高度必须,否则table-father的高度为0,border无效
	.table-father {
	  flex: 1;
	  border-right: 1px solid #eee;
	  position: relative; // table的直接父元素加position属性
	  .el-table { // table 加position属性
	    position: absolute;
	  }
	}
}
参考1:https://www.cnblogs.com/codebook/p/14340592.html
参考2:https://juejin.cn/post/6884498721690943501
  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值