首页 > 其他 > 详细

pc端大屏自适应

时间:2021-07-22 17:01:00      阅读:40      评论:0      收藏:0      [点我收藏+]
  • react版本
按1920/1080的比例进行缩放比例的换算,本地屏幕的宽高取innerWidth和innerHeight
在需要进行大屏适配的页面添加如下代码,大屏内部的计算单位直接使用px就可以了
//1、计算scale值,并存储在state中
getScale = () => {
    const width = 1920,
          height = 1080;
    let ww = window.innerWidth / width;
    let wh = window.innerHeight / height;
    return ww < wh ? ww : wh;
  };
  constructor(props) {
    super(props);
    // this.state = { theme };
    this.state = {
      timer: 0,
      scale: this.getScale(),
    };
  }
//2、监听resize变化,赋给不同的scale比例值
 componentDidMount() {
    //let begin_time = `${moment(new Date())
      .subtract(10, ‘days‘)
      .format(‘YYYY-MM-DD HH‘)}:00:00`;
    //let end_time = `${moment(new Date()).format(‘YYYY-MM-DD HH‘)}:00:00`;
    //this.loadTotalPlan();
    //this.loadAggsData(begin_time, end_time);
    //this.intervalLoad(begin_time, end_time);
    window.addEventListener(‘resize‘, this.handleResize);
  }
//debounce为防抖函数
handleResize = debounce(() => {
    let scale = this.getScale();
    // console.log(scale, ‘scale-----‘);
    this.setState({
      scale: scale,
    });
  }, 300);
//3、在render的使用,加在标签上
 <div
        className={styles.screenBox}
        style={{
          transform: `scale(${scale})`,
          transformOrigin: ‘left top‘,
          width: ‘1920px‘,
          height: ‘1080px‘,
          overflow: ‘hidden‘,
        }}
      >
</div>

pc端大屏自适应

原文:https://www.cnblogs.com/shewill/p/15044032.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!