移動端多終端適配方案——lib-flexible


lib-flexible是什么?

lib-flexible是一個制作H5適配的開源庫,可以點擊這里下載相關文件,獲取需要的JavaScript和CSS文件。

使用方法

在head標簽中引入js文件

<script src="build/flexible_css.debug.js"></script>
<script src="build/flexible.debug.js"></script>

也可以使用阿里的CDN:

<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>

另外強烈建議對JS做內聯處理,在所有資源加載之前執行這個JS。執行這個JS后,會在<html>元素上增加一個data-dpr屬性,以及一個font-size樣式。JS會根據不同的設備添加不同的data-dpr值,比如說2或者3,同時會給html加上對應的font-size的值,比如說75px。

在項目中使用

當設計稿為750px時

less中的用法(75指的是開發時使用的設備為iPhone6時html標簽的font-size基准值大小):

.function {
  .p2r(@px) {
    return: unit(@px/75, 1rem);
  }
}

less使用自定義函數需要插件支持,具體可以看https://github.com/seven-phases-max/less-plugin-functions

那么之后可以這么用:

.div {
    width: p2r(100px);
    height: p2r(100px);      
}

比如在iPhone6下時,html標簽會被添加data-dpr屬性,和基准值font-size

div的width和height就為100/75rem=1.33333333rem

在iPhone6 Plus下時,data-dpr為3

此時div的rem還是為1.3333333rem,但是由於html標簽的font-size基准值變成了124.2,所以div的width和height就不是100px了

這樣當設備的dpr和分辨率不同時,元素會相應的改變大小,這樣就達到了對於不同設備的適配的效果。

 

參考:使用Flexible實現手淘H5頁面的終端適配


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM