React--移动端适配

  • 适配原理

    • 选择某个手机的尺寸大小作为基准,其他手机进行等比例缩放

    • 一般选择 iPhone 6(2 倍屏幕),屏幕宽度为:375px

  • 适配方式

    • rem:需要手动修改 html 元素的 font-size;额外设置 body 元素的字体大小为正常值

    • vw: 1 vw 等于屏幕宽度的 1%

 

复制代码
// rem 适配
// iphone6       html ==> font-size: 37.5px
// iphone6 plus  html ==> font-size: 41.4px
// 
// iPhone 6 下宽高为 100px:
// 100 / 37.5 ≈ 2.667
// height: 2.667rem; width: 2.667rem;

// vw 适配
// iPhone 6 下宽高为 100px:
// 100 / (375 / 100) = 100 / 3.75 ≈ 26.7vw
// height: 26.667vw; width: 26.667vw;
复制代码

 

步骤

  1. 安装 px 转 vw 的包:yarn add -D postcss-px-to-viewport

    • 包的作用:将 px 转化为 vw,所以有了该工具,只需要在代码中写 px 即可

  2. craco.config.js 添加相应配置

  3. 重启项目,让配置生效

 

/craco.config.js 中:

复制代码
const pxToViewport = require('postcss-px-to-viewport')
const vw = pxToViewport({
  // 视口宽度,一般就是 375( 设计稿一般采用二倍稿,宽度为 375 )
  viewportWidth: 375
})

module.exports = {
  // 此处省略 webpack 配置
  webpack: {},

  style: {
    postcss: {
      plugins: [vw]
    }
  }
}
复制代码

 

posted @   我太难了  阅读(868)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示