vue组件和页面的高度根据屏幕大小自适应

Posted wuqilang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue组件和页面的高度根据屏幕大小自适应相关的知识,希望对你有一定的参考价值。

网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth (包括边线的宽)
网页可见区域高:document.body.offsetHeight (包括边线的宽)

 

1、data中定义clientHeight变量:

  data() {
    return {
      clientHeight: document.body.clientHeight
    }
  }

2、实时改变clientHeight的值:

  mounted() {
    const that = this
    window.onresize = () => {
      return (() => {
        window.screenHeight = document.body.clientHeight
        that.clientHeight = window.screenHeight
      })()
    }
  },
  watch: {
    clientHeight(val) {
      // 为了避免频繁触发resize函数导致页面卡顿,使用定时器
      if (!this.timer) {
        // 一旦监听到的screenWidth值改变,就将其重新赋给data里的screenWidth
        this.clientHeight = val
        this.timer = true
        let that = this
        setTimeout(function() {
          // 打印screenWidth变化的值
          console.log(that.clientHeight)
          that.timer = false
        }, 400)
      }
    }
  }

3、给需要自适应高度的div添加:style属性:

  <div class="review-options-details" :style="{ height: clientHeight-194 + ‘px‘ }">
    
 </
div>

 

以上是关于vue组件和页面的高度根据屏幕大小自适应的主要内容,如果未能解决你的问题,请参考以下文章

如何用CSS使图片自适应显示宽度

微信小程序页面头部高度自适应

css3怎么实现屏幕自适应

css样式自适应分辨率

使用WKWebView自适应屏幕遇到的问题以及最后解决的方法

echarts生成的图表大小怎么随屏幕的大小改变自适应