移動端頁面適配問題

來源:互聯網
上載者:User

標籤:get   hub   win   方案   settime   head   rect   http   out   

移動端頁面滿屏自適應方案(採用rem作為單位,設計稿為750 * 1334)

  • 修改自阿里的lib-flexible,與lib-flexible相比,刪除了dpr,保留rem
  • 滿屏自適應,要求設計稿為750 * 1334
  • 單位換算為1rem = 50px      

   代碼引入:

<head>    <script>function refreshRem(){var e=docEl.getBoundingClientRect().width,t=docEl.getBoundingClientRect().height;if(e/t>750/1334)var i=t/26.68;else var i=e/15;docEl.style.fontSize=i+"px"}var win=window,doc=win.document,docEl=doc.documentElement,tid;win.addEventListener("resize",function(){clearTimeout(tid),tid=setTimeout(refreshRem,300)},!1),win.addEventListener("pageshow",function(e){e.persisted&&(clearTimeout(tid),tid=setTimeout(refreshRem,300))},!1),refreshRem();</script></head>

源碼

var win = window;var doc = win.document;var docEl = doc.documentElement;var tid;function refreshRem(){    var width = docEl.getBoundingClientRect().width;    var height = docEl.getBoundingClientRect().height;    if ((width / height) > (750 / 1334)) {        var rem = height / (1334 / 50);    } else {        var rem = width / (750 / 50);    }    docEl.style.fontSize = rem + ‘px‘;}win.addEventListener(‘resize‘, function() {    clearTimeout(tid);    tid = setTimeout(refreshRem, 300);}, false);win.addEventListener(‘pageshow‘, function(e) {    if (e.persisted) {        clearTimeout(tid);        tid = setTimeout(refreshRem, 300);    }}, false);refreshRem();

移動端頁面適配問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.