大屏自适应(1920*1080)

html部分

 <div class="analysis"  id="analysis"></div>

css部分

body{
    background: #191b1e;
    height: 100vh;
    overflow: hidden;
  }
.analysis {
    box-sizing: border-box;
    width: 1920px;
    height: 1080px;
    background: #191b1e;
    overflow: hidden;
    transform-origin: left top;
    transition: transform 0.2s;
  }

js部分

 // 获取放大缩小比例
  screenScale(document.getElementById('analysis'));
  function screenScale(element) {
    let width = 1920;
    let height = 1080;
    let offsetWidth = window.innerWidth;
    let offsetHeight = window.innerHeight;
    let top = 0;
    let left = 0;
    let scaleX = offsetWidth / width;
    let scaleY = offsetHeight / height;
    let scale = Math.min(scaleX, scaleY);
    top = (offsetHeight - height * scale) / 2;
    left = (offsetWidth - width * scale) / 2;
    //核心代码
    const transform = 'translate('+left+'px,'+top+'px) scale('+scale+')'
    // `translate(${left}px, ${top}px) scale(${scale})`;
    element.style.width=width+'px';
    element.style.height=height+'px';
    element.style.transform=transform;
  }
  window.onresize = function () {
    screenScale(document.getElementById('analysis'));
  }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容