1. 程式人生 > >css響應式布局

css響應式布局

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響應式布局