adaptivejs利用rem解決移動端頁面開發(fā)的自適應(yīng)問題 
 
    頁面模板初始化的時候不用設(shè)置viewport標(biāo)簽,由js生成。 
 
    我們在head標(biāo)簽的頂部引入js,按以下方法使用即可 
 
    最大優(yōu)點: 
 
    計算html元素的font-size,使1rem等于100px,方便快速開發(fā) 
 
    使用方法: 
 
    在頁面head寫入以下代碼,實時更新html的fontsize:
adaptive.js// 有縮放,精確還原設(shè)計圖
adaptive-version2.js// 沒有縮放,能快速開發(fā)的版本
window[’adaptive’].desinWidth = 640;// 設(shè)計圖寬度
window[’adaptive’].baseFont = 18;// 沒有縮放時的字體大小
window[’adaptive’].maxWidth = 480;// 頁面最大寬度 默認(rèn)540
window[’adaptive’].init();// 調(diào)用初始化方法
<script>
 
    window[’adaptive’].desinWidth = 640;
 
    window[’adaptive’].baseFont = 18;
 
    window[’adaptive’].init();
 
    </script>
然后在css中設(shè)置相應(yīng)樣式即可: 
 
    .main-info { 
 
    height: 0.88rem; 
 
    padding-bottom: 0.24rem; 
 
    } 
 
    .fund-info { 
 
    position: relative; 
 
    font-weight: normal; 
 
    padding: 0.2rem 0; 
 
    padding-right: 1.7rem; 
 
    padding-left: 0.23rem; 
 
    font-size: 0.32rem; 
 
    line-height: 1; 
 
    }
adaptivejs原理: 
 
    利用rem布局,根據(jù)公式
html元素字體大小 = document根節(jié)點(html)寬度 * 100 / 設(shè)計圖寬度
計算html元素的font-size,使1rem等于100px,方便快速開發(fā) 
 
    開發(fā)時,一個div設(shè)計圖寬度為89px,那么在css中我們可以這樣書寫:width:0.89rem; 
 
    如果是文字,我們也建議使用rem
對于iphone的retina高清顯示屏,基本版本(adaptive.js)我們做了縮放處理,以達(dá)到最佳顯示效果。 
對于快速開發(fā)版本(adaptive-version2.js),viewport的width等于設(shè)備寬度,不會縮放 
 
    注意:如果設(shè)計圖寬度大于document的寬度,0.01rem將小于1px,故如果設(shè)計圖是1px,在css中仍然用1px顯示。 
 
    可用的全局變量:window.devicePixelRatioValue 當(dāng)前頁面設(shè)置的設(shè)備像素比
優(yōu)化寬度問題 
 
    新增最大寬度,解決平板或手機(jī)橫屏?xí)r體驗不佳的問題 
 
    window[’adaptive’].maxWidth = 480; // 設(shè)置最大寬度,默認(rèn)540px 
 
    需要css配合使用,添加如下代碼: 
 
    body { 
 
    max-width: 6.4rem; // 設(shè)計圖寬度為640px時為6.4rem ,750時為7.5rem ,以此類推 
 
    margin: 0 auto; 
 
    } 
 
    body * { 
 
    max-width: 6.4rem; // 設(shè)計圖寬度為640px時為6.4rem ,750時為7.5rem ,以此類推 
 
    }
【 微信掃一掃 】