当前位置:首页 > 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 单位保持清晰度

分享给朋友:

相关文章

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

如何运行react项目

如何运行react项目

运行React项目的步骤 确保已安装Node.js(建议版本12或更高)和npm/yarn。若未安装,可从Node.js官网下载。 全局安装create-react-app脚手架工具(若已安装可跳…

react如何使用ueditor

react如何使用ueditor

安装 UEditor 下载 UEditor 的官方版本,解压后将整个文件夹放入项目的 public 目录下。确保可以通过 URL 直接访问 UEditor 的资源文件,例如 public/uedito…

idea如何创建java项目

idea如何创建java项目

创建Java项目步骤 打开IntelliJ IDEA,点击欢迎界面上的"New Project"或通过菜单栏"File" > "New" > "Project"创建新项目。 在新建项目…

vue项目 实现resize

vue项目 实现resize

监听窗口大小变化 在Vue项目中,可以通过监听window的resize事件来实现响应式布局或动态调整组件尺寸。以下是一个基本实现方法: mounted() { window.addEventL…

vue实现的项目

vue实现的项目

Vue 项目实现方法 使用 Vue.js 实现项目通常涉及以下关键步骤和技术要点。 项目初始化 通过 Vue CLI 或 Vite 创建项目框架。Vue CLI 提供标准化模板,适合传统项目;Vit…