微信小程序: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'
    })
  ],
}
相关推荐
wapchief24 分钟前
微信小程序camera相机帧转图片base64
微信小程序·小程序
QuantumLeap丶26 分钟前
《uni-app跨平台开发完全指南》- 05 - 基础组件使用
vue.js·微信小程序·uni-app
发财北1 小时前
全屋智能家居定制小程序
小程序
2501_915918412 小时前
Flutter 加固方案对比与实战,多工具组合的跨平台安全体系(Flutter App 加固/IPA 成品混淆/Ipa Guard CLI/自动化安全流程)
安全·flutter·ios·小程序·uni-app·自动化·iphone
泽_浪里白条2 小时前
UniApp + Vue3 开发微信小程序数字人:TTS PCM 音频流与 SVGA 动画同步实战
微信小程序
小蒜学长3 小时前
springboot基于Java的校园导航微信小程序的设计与实现(代码+数据库+LW)
java·spring boot·后端·微信小程序
说私域3 小时前
定制开发AI智能名片S2B2C商城小程序的发展与整合资源策略研究
人工智能·小程序
WenGyyyL4 小时前
微信小程序开发——第二章:微信小程序开发环境搭建
开发语言·python·微信小程序
TiAmo zhang5 小时前
微信小程序开发案例 | 个人相册小程序(上)
微信小程序·小程序
00后程序员张17 小时前
iOS 上架费用全解析 开发者账号、App 审核、工具使用与开心上架(Appuploader)免 Mac 成本优化指南
android·macos·ios·小程序·uni-app·cocoa·iphone