站点图标 起风网

移动端添加适配方案

移动端添加适配方案缩略图

Flex 布局 + rem + flexible+sass

React

  1. 暴露webpack配置,即 react-scripts 包
npm run eject

⚠️ 在运行该命令的时候,要先将已经修改的文件提交到本地仓库中过,否则会报错!

  1. 安装项目项目需要的包 lib-flexiblepostcss-px2rempostcss-loader
npm install postcss-px2rem lib-flexible --savenpm install postcss-loader --dev
  1. 在项目的 public/index.html 入口文件添加
<meta name="viewport" content="width=device-width,inital-scale=1.0,    maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
  1. 然后在项目入口文件 index.js 中引入 lib-flexible
import "lib-flexible" ;

5.接着,在项目config目录下的 webpack.config.js 中引入 postcss-px2rem

const px2rem = require("postcss-px2rem");
i配置文件.png
{        loader: require.resolve("postcss-loader"),        options: {          /* 省略代码... */          plugins: () => [            require( postcss-flexbugs-fixes ),            require( postcss-preset-env )({              autoprefixer: {                flexbox:  no-2009 ,              },              stage: 3,            }),            px2rem({remUnit: 75}), // 添加的内容            /* 省略代码... */          ],          sourceMap: isEnvProduction && shouldUseSourceMap,        },      },
i配置.png

重新启动项目,发现里面的px单位都变成了rem

注意:使用 px2rem-loader 后再使用px上有些不同:
直接写 px ,编译后会直接转化成rem —— 除开下面两种情况,其他长度用这个
在 px 后面添加 /no/ ,不会转化 px,会原样输出。 —— 一般border需用这个
在 px 后面添加 /px/ ,会根据 dpr 的不同,生成三套代码。—— 一般字体需用这个,默认是@2x图 style

.App {  .header {    border: 10px solid #ddd; /*no*/    color:#f00;    font-size: 100px; /*px*/    }}

Vue

vue项目配置px2rem

vue init webpack my-app
cd my-app
yarn add lib-flexibleyarn add px2rem-loader --dev
<meta name="viewport" content="width=device-width,inital-scale=1.0,    maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
import "lib-flexible/flexible.js" ;
rule    .use('px2rem-loader')    .loader('px2rem-loader')    .options({emUnit: 75})

适用情况 & 不适用情况

文章转载于:https://www.jianshu.com/p/88f282a840a6

原著是一个有趣的人,若有侵权,请通知删除

退出移动版