Vue數(shù)據(jù)大屏根據(jù)瀏覽器大小縮放比例

<div class="app-container">
    <div class="resize-container" id="reportResizeContainer">
      <!-- 圖表內容 -->
    </div>
</div>
/* 根據(jù)瀏覽器大小推斷縮放比例 */
getScale(width = 1920, height = 1080) {
   let ww = window.innerWidth / width
   let wh = window.innerHeight / height
   return ww < wh ? ww : wh
}
mounted() {
    let dom = document.getElementById('reportResizeContainer') as HTMLElement
    dom.style.transform = `scale(${this.getScale()}) translate(-50%, -50%)`
    dom.style.width = `1920px`
    dom.style.height = `1080px`
    window.addEventListener('resize', () => {
       if (dom) dom.style.transform = `scale(${this.getScale()}) translate(-50%, -50%)`
    })
}
.app-container {
    height: 100%;
    width: 100%;
}
.resize-container {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 999;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: all 0.3s;
    transform-origin: left top;
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容