el-scrollbar滚动条,根据浏览器窗口比例动态设置父盒子高度

el-scrollbar滚动条根据浏览器窗口比例动态设置父盒子高度

我们都知道el-scrollbar是存在于饿了么源码中的一个功能组件,我们在网上也可以找到很多关于它的基本用法。但无一不强调,父盒子要有固定的高度。

<div  style="height : 200px  ">
  <el-scrollbar style="height : 100% " >

那么在浏览器视口中可能会出现一种情况,100%缩放时,因为空间不够,应用了滚动条。
在这里插入图片描述

由于是工作内容,,便只截取部分,请见谅。

而当浏览器视口缩放为更小时,比如80%,50%,那么我们就有了足够的空间显示全部内容。
在这里插入图片描述
下面的红色空间本足够显示滚动条隐藏内容,却被浪费了,也非常不美观。

受限于el-scrollbar,我们无法为父盒子设置百分比高度,所以我们便可以尝试vue中用动态绑定的方式来赋予高度。。

<div :style="{height : slbHeight } ">
 <el-scrollbar style="height : 100% " class="clb" >
data() {
      return {
        clientHeight:'',//浏览器可视区域高度
        slbHeight:''
      }
    }

我们在这里需要获取浏览器可视区域高度,然后减去滚动条上边的所有内容的高度(如果下边也有其他内容,那么按实际情况去计算)

mounted() {
      this.clientHeight = `${document.documentElement.clientHeight}`;//获取浏览器可视区域高度
      let that = this;
      window.onresize = function(){
        this.clientHeight =  `${document.documentElement.clientHeight}`;
        that.slbHeight = this.clientHeight - 480 + 'px';
      }
    },

考虑到浏览器窗口缩放会有随时变化的可能,所以我们可以进行监听

watch: {
      clientHeight(){     //如果clientHeight 发生改变,这个函数就会运行
        this.changeFixed(this.clientHeight)
      }
    },
methods: {
      changeFixed(clientHeight){
          this.slbHeight = clientHeight -480 + 'px';
      },
   }

这样,我们就完成了对父盒子高度的动态赋值。

如有新的想法,欢迎在此分享,本人前端新鲜小白菜,浅薄总结,愿共同进步提示。

此文章借鉴了https://blog.csdn.net/weixin_30830327/article/details/98374237

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值