使用PostCSS自动将px转换成rem

安装 postcss-pxtorem

如下命令就是安装的命令运行即可安装。

npm install postcss-pxtorem -D

在配置文件中配置 postcss-pxtorem

module.exports = {
    plugins: {
        "postcss-pxtorem": {
            // 根元素字体大小
            rootValue: 100,
            // 指定可以从px更改到rem的属性
            // propList: ['*']
            propList: ["height"]
        }
    }
};
  • rootValue(Number) root 元素的字体大小。
  • unitPrecision(Number) 允许 rem 单位增长到的十进制数。
  • propList(array) 指定可以从 px 更改到 rem 的属性。
    • 值需要精确匹配。
    • 使用通配符 * 启用所有属性都需要进行更改。示例:['*']
    • 在单词的开头或者结尾使用 *。( ['*position*'] 将匹配 background-position-y )
    • 使用与属性不匹配。! 示例:['*', 'letter-spacing']!
    • 将 "非" 前缀与其他前缀合并。示例:[*, 'font*']!
  • selectorBlackList(array) 要忽略和离开的选择器。
    • 如果值为字符串,它将检查选择器是否包含字符串。
    • ['body'] 将匹配 .body-class。
    • 如果值为 regexp,它将检查选择器是否匹配正则表达式。
    • [/^body$/] 将匹配 body,但不匹配 .body
  • replace(Boolean) 替代包含 rems 的规则,而不是添加回退。
  • mediaQuery(Boolean) 允许在媒体查询中转换 px。
  • minPixelValue(Number) 设置要替换的最小像素值。

突然感觉淡淡的不忧伤了, 过去麻烦的事 webpack 都帮我们做完了。

接下来我们就来看看吧,我就来写一个小小的示例吧。

不用写别的,就是以前的东西直接打包运行查看,按照如上的配置修改过后打包之后的结果就是下面的这样,有一个注意点,需要再引入打包过后的文件的HTML文件中添加如下内容,关于添加的内容我会再写移动端的文章中进行介绍,有不懂的到时候可以进行参考我后面出的文章。

<script>
    let scale = 1.0 / window.devicePixelRatio;
    let text = `<meta name="viewport" content="width=device-width, initial-scale=${scale}, maximum-scale=${scale}, minimum-scale=${scale}, user-scalable=no">`;
    document.write(text);
    document.documentElement.style.fontSize = window.innerWidth / 7.5 + "px";
</script>

例如再换一台设备如 iPhone 6/7/8,换完之后的效果图如下。

posted @   BNTang  阅读(737)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示