css響應式布局
阿新 • • 發佈:2017-06-22
dev nbsp blog 元素 字體大小 view settime html中 rec
以設計稿為準,假設設計稿豎屏寬度為750px,取根元素的font-size為50px
在iphone6(375px)下,deviceWidth=7.5rem, 這個就是viewPort中的deviceWidth,
所以fontsize計算公式為 font-size=deviceWidth/7.5 即50px,因此我們可以設置iphone6下 html的font-size為312.5%
在該尺寸下的設備上,如果要設置某個p元素的字體大小為18px,可以設置成0.36rem
在iphone5s 320px,按比例換算,font-size=320/7.5=85.33 或者(320/375)*50px
可以使用下面這個方法動態計算根元素字體大小:
!function(){ var htmlEl = document.getElementsByTagName(‘html‘)[0]; var fitPage = function(){ /* The calculate of with from zepto */ var w = htmlEl.getBoundingClientRect().width; //返回一個DOMRect對象 w = Math.round(w); w = w > 750 ? 750: w; var newW = w/750 * 100; htmlEl.style.fontSize = newW + ‘px‘; } fitPage(); var t; var func = function(){ clearTimeout(t); t = setTimeout(fitPage, 25); } window.addEventListener(‘resize‘, func); }();
註:需要在html中有下面的聲明,width=deviceWidth
<meta name="viewport" content="width=deviceWidth,initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
css響應式布局