微信小程序:rpx详解,使用 tailwindcss最佳方案rem转rpx

rpx详解

不管手机的屏幕宽度是多少,微信小程序都负责把这个宽度平均分成 750 份,而把这分好过的 750 份中的 1 份取名叫 1rpx。

tailwindcss rem转rpx

配置 rem 转 rpx

安装配置好了 tailwindcss,接下来一步便是配置 rem 转 rpx
tailwindcss 里面工具类的长度单位,默认都是 rem,比如:

c 复制代码
.p-4{
  margin: 1rem; //16px
}
.p-4{
  height: 1rem;  //16px
}

小程序里面,我们大部分情况都是使用 rpx 这个单位来进行自适应,所以就需要把默认的 rem 单位转化成 rpx

配置tailwindcss单位转化

两种转化方式(二者选其一即可)

1、想要把项目里所有的 rem 都转化成 rpx,那么 postcss plugin: postcss-rem-to-responsive-pixel 适合你。

c 复制代码
npm i -D postcss-rem-to-responsive-pixel

安装好之后,把它注册进你的 postcss.config.js 即可:

c 复制代码
module.exports = {
  plugins: {
		tailwindcss: {},
		'postcss-rem-to-responsive-pixel': {
      // 32 意味着 1rem = 32rpx
      rootValue: 32,
      // 默认所有属性都转化
      propList: ['*'],
      // 转化的单位,可以变成 px / rpx
      transformUnit: 'rpx'
      // postcss-rem-to-responsive-pixel@6 版本添加了 disabled 参数,用来禁止插件的转化
      // disabled: process.env.TARO_ENV === 'h5' || process.env.TARO_ENV === 'rn'
    }
  }
}

2、只把项目里 tailwindcss 生成的工具类的单位,从 rem 转变为 rpx,那么 tailwindcss preset: tailwindcss-rem2px-preset 适合你。

c 复制代码
npm i -D tailwindcss-rem2px-preset

然后在 tailwind.config.js 中,注册这个预设:

c 复制代码
module.exports = {
  presets: [
    require('tailwindcss-rem2px-preset').createPreset({
      // 意味着 1rem = 32rpx
      fontSize: 32,
      // 转化的单位  px / rpx
      unit: 'rpx'
    })
  ],
}
相关推荐
whinc2 天前
🚀 两年小程序开发,我把踩过的坑做成了开源 Skills
前端·微信小程序·ai编程
Lupino2 天前
烧掉 10 刀 API 费,我才明白小程序虚拟列表根本不用“库”!
react.js·微信小程序
小溪彼岸3 天前
是时候给想做小程序的小伙伴泼盆冷水了
微信小程序
远山枫谷4 天前
一文理清页面/组件通信与 Store 全局状态管理
前端·微信小程序
木易士心5 天前
一文读懂:微信小程序云数据库直连原理与使用指南
微信小程序·serverless
明月_清风5 天前
小程序云函数:从入门到全栈的“降维打击”指南
前端·微信小程序·小程序·云开发
拉不动的猪6 天前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
WangHappy8 天前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端8 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker9 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序