当前位置:首页 > React

react项目如何使用rem

2026-01-24 22:29:08React

使用 rem 的配置方法

在 React 项目中配置 rem 单位适配移动端,可以通过以下方式实现:

安装 postcss-pxtorem 插件

npm install postcss-pxtorem --save-dev

配置 craco 覆盖 create-react-app 默认配置(如使用 CRA)

react项目如何使用rem

npm install @craco/craco --save

创建 craco.config.js 文件

module.exports = {
  style: {
    postcss: {
      plugins: [
        require('postcss-pxtorem')({
          rootValue: 16,
          propList: ['*']
        })
      ]
    }
  }
}

动态计算 rem 基准值

在 public/index.html 的 head 中添加脚本

react项目如何使用rem

<script>
  document.documentElement.style.fontSize = 
    Math.min(window.innerWidth, 750) / 750 * 100 + 'px'
</script>

或在 src/index.js 中添加 resize 事件监听

function setRem() {
  const docEl = document.documentElement
  const width = Math.min(docEl.clientWidth, 750)
  docEl.style.fontSize = width / 7.5 + 'px'
}
window.addEventListener('resize', setRem)
setRem()

CSS 中使用 rem 单位

设置基础样式

body {
  font-size: 16px; /* 1rem = 16px */
}

.container {
  width: 10rem; /* 160px */
  padding: 0.5rem; /* 8px */
}

设计稿尺寸转换

假设设计稿宽度为 750px,开发时可直接按设计稿尺寸书写

// postcss-pxtorem 配置
{
  rootValue: 75,
  unitPrecision: 5,
  propList: ['*'],
  selectorBlackList: [],
  replace: true,
  mediaQuery: false,
  minPixelValue: 0
}

注意事项

使用 rem 布局时需确保所有尺寸单位统一为 rem
媒体查询中的尺寸也需要转换为 rem 单位
某些第三方组件可能需要单独处理样式覆盖
SVG 等矢量图形建议仍使用 px 单位保持清晰度

分享给朋友:

相关文章

vue实现项目

vue实现项目

Vue 项目实现指南 环境准备 确保已安装 Node.js(建议版本 14+)和 npm/yarn。通过以下命令检查版本: node -v npm -v 创建 Vue 项目 使用 Vue CLI…

uniapp项目教程

uniapp项目教程

uniapp项目教程 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(包括 iOS、Android、H5、小程序等)。以下是详细的教程指南,帮助快速上手 uniapp…

uniapp项目实战

uniapp项目实战

创建UniApp项目 通过HBuilderX新建项目,选择UniApp模板,填写项目名称和存储路径。根据需求选择默认模板或自定义配置,如Vue3版本支持。 配置基础环境 在manifest.j…

uniapp中如何使用iconfont

uniapp中如何使用iconfont

使用 Iconfont 在 Uniapp 中的步骤 下载 Iconfont 资源 访问 Iconfont 官网,选择需要的图标并添加到项目。下载时选择 Font class 格式,解压后会得到 .tt…

vue实现项目

vue实现项目

Vue 项目实现指南 环境准备 确保已安装 Node.js(建议版本 16+)和 npm/yarn。通过以下命令安装 Vue CLI: npm install -g @vue/cli 创建项目 使…

vue项目如何实现

vue项目如何实现

安装Vue.js 通过npm或yarn安装Vue.js。确保Node.js环境已配置完成。 npm install vue # 或 yarn add vue 创建Vue项目 使用Vue CLI工具快…