別廢話,先看最終的適配效果:
Mobile 長這樣:css
PC 長這樣:html
嗯,還行,能看。
固然仍是先安裝 amfe-flexible,建議用 npmwebpack
npm i amfe-flexible -S
而後在項目入口引入git
import 'amfe-flexible'
若是不想使用 npm,那就用這個 script 引入github
<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js" />
爲了與設計稿 px 單位一致,還須要一個 px 轉 rem 的工具來幫忙web
npm i postcss-pxtorem -D
配置好 webpack 的 postcss 插件npm
"postcss": { "plugins": { "postcss-pxtorem": { "rootValue": 37.5, // 這裏根據設計稿寬度自定義,常見 37.5 或 75 "propList": [ "*" ] } } }
這樣就能夠直接用 px 單位,省去換算 remjson
移動端雖然正常,但瀏覽器看發現比例偏大,因此咱們還得讓 PC 給我縮回去瀏覽器
思路比較簡單,用媒體查詢,大屏幕就重置根字體,給個最大縮放寬度工具
@media screen and (min-width: 750px) { html { font-size: 100px !important; // 這裏加權重是由於 amfe-flexible 經過行內樣式設置了根字體 } body { max-width: 500PX; // 順帶提下,這裏也能夠小寫 px,大寫 PX 能夠讓 postcss-pxtorem 忽略轉成 rem margin: 0 auto; } }
就這樣吧