vue-cli 3.0移動端項目:flexible、px2rem解決移動端適配,並且連帶解決第三方ui庫變小


  首先我們需要知道,flexible的實質是根據不同尺寸動態改變縮放比,動態改變html的style.fontSize,也就是rem布局,感興趣的可了解如何實現1px物理像素。

   (flexible由手淘團隊開發,簡直解決了rem適配的噩夢,如下是手淘rem需要適配的機型)

     

 進入正題:

1、第一

  引入lib-flexible . 

  安裝lib-flexible:  npm i lib-flexible --save

  在項目的入口main.js文件中引入lib-flexible: import 'lib-flexible'

2、第二

  使用postcss-px2rem自動將css中的px轉換成rem(真的是大大提升了我們的工作效率,棒棒的,不用自己去瞎算啊)

  安裝postcss-px2rem :  npm install postcss-px2rem --save-dev

 3、配置postcss

 

4、重啟項目發現,px已經在瀏覽器轉換為rem,但是問題沒有完全結束:
把px轉換成rem的配置完成后,還需要在入口文件(main.js)里面配置一段代碼,此代碼的目的是監聽window窗口大小的變化
從而動態改變html根節點的font-size的大小。
達到適配不同設備的效果;

   

5、最后,我們需要知道flexible的轉換不包括第三方ui庫,具體去官網看下:網上有許多解決辦法,首先我們要知道,根源是因為移動端ui庫,本來就是適配了移動端尺寸,而fliexble再去適配一次,能不變小嗎?

那么就知道解決辦法了,總結大致如下:

  1、固定縮放比,即dpr為1,不推薦,全局設置不易調控;

  2、給不希望轉化rem的組件,設置px的時候,單位后面加上 /* */即忽略該px

  3、在它轉化之前就設置rem,個人推薦該法,利用VScode的px to rem,將寫好的px,直接選中option+z轉為rem,然后fliexble就在webpack編譯的時候不去轉化它了。

 

至此,結束。

 
       


免責聲明!

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



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