利用 scale 實(shí)現(xiàn)大屏展示按照設(shè)計稿等比例縮放方案

這里以 1920 / 1080 設(shè)計稿為例, 如是其它設(shè)計稿可自行調(diào)整相應(yīng)的比例,之后開發(fā)的話按照設(shè)計稿中的尺寸進(jìn)行開發(fā)即可:

  1. 整個項(xiàng)目根元素放在 為
<div id="root"></div>
  1. 設(shè)置 根元素的樣式;
#root {
  width: 1920px;
  height: 1080px;
  min-width: 1920px;
  max-width: 1920px;
  min-height: 1080px;
  max-height: 1080px;
}
  1. 設(shè)置 js 腳本
window.onresize = () => {
    initMainBody();
};
initMainBody();
function initMainBody () {
    let clientWidth = document.documentElement.clientWidth;
    let clientHeight = document.documentElement.clientHeight;
    let WHRatio = clientWidth / clientHeight;
    let root = document.querySelector('#root')
    if (WHRatio <= 16/9) { // 16 / 9 就是  1920 / 1080的屏幕
        // 說明是窄長屏,此時要將 寬度拉滿,
        root.style.transform = 'scale(' + clientWidth / 1920 + ',' + clientWidth / 1920 + ')'
    } else {
        // 說明是寬屏,此時要將 高度拉滿,
        root.style.transform = 'scale(' + clientHeight / 1080 + ',' + clientHeight / 1080 + ')'
    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • (發(fā)牢騷)在微信(和qq)小程序中,許多元素是有自帶的默認(rèn)樣式的,這很正常,web也是這樣。但是小程序中默認(rèn)樣式的...
    hhkkyy閱讀 1,307評論 0 1
  • @(概述)[基本概念|百分比|rem|vw/vh|響應(yīng)式設(shè)計] 移動端web頁面的開發(fā),由于手機(jī)屏幕尺寸、分辨率不...
    jluemmmm閱讀 77,975評論 1 42
  • 【序】今天刷到一篇公眾號的文章主題是移動端適配的相關(guān)基礎(chǔ)概念,那么就通過閱讀基礎(chǔ)概念,從業(yè)務(wù)的角度來做個總結(jié),文章...
    陌客百里閱讀 543評論 0 2
  • 目錄介紹 1.屏幕適配定義 2.相關(guān)重要的概念2.1 屏幕尺寸[物理尺寸]2.2 屏幕分辨率[px]2.3 屏幕像...
    楊充211閱讀 1,641評論 0 1
  • 這篇文章主要梳理阿里的動態(tài)rem方案。 需求: 在做手機(jī)頁面的時候,經(jīng)常會遇到一個問題,那就是隨著智能手機(jī)的發(fā)展,...
    李悅之閱讀 912評論 0 0

友情鏈接更多精彩內(nèi)容