自定义postcss插件,根据倍率增大font-size大小

这篇具有很好参考价值的文章主要介绍了自定义postcss插件,根据倍率增大font-size大小。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用侧

    loaderOptions: {
      /**自适应配置 */
      postcss: {
        plugins: [
          // postcss
          require("./index.js")({
            unit: 1.2,
          }),
        ],
      },
    }

定义侧文章来源地址https://www.toymoban.com/news/detail-835513.html


const postcss = require('postcss')

module.exports = postcss.plugin('postcss-change-css-fontSize', function (opts = {}) {
  const { unit = 1 } = opts || {}
  console.log(99999)
  console.log(unit)
  // 接收两个参数,第一个是每个css文件的ast,第二个参数中可获取转换结果相关信息(包括当前css文件相关信息)
  function plugin(css, result) {
    css.walkRules((rule) => {
      // 遍历当前ast所有rule节点
      const { nodes } = rule
      for (let index = 0; index < nodes.length; index++) {
        const element = nodes[index];
        let elementprop = element.prop + ''
        if (elementprop && typeof elementprop === "string" && elementprop.includes('font-size')) {
          element.value = element.value.replace('px','') * unit + 'px'
         // const clone = rule.clone()
          // clone.selector = replaceStr(selector, prefix, replace)
          //rule.replaceWith(clone)
        }
      }
    })
  }

  return plugin
})

// module.exports = (opts = {}) => {
//   return {
//     postcssPlugin: 'postcss-dark-theme-class', // 插件名
//     // Once (root, { result }) { // root为根节点树,Once方法会在该节点下的所有子元素被处理之前调用
//     //    root.walkDecls(decl=>{...}) // 遍历CSS声明
//     // }
//   }
// }
// module.exports.postcss = true // 声明导出为postcss插件

// const Options = {
//   viewportWidth: 375,//默认视口宽度
// }


// module.exports = (options) =>{
//   const opt = Object.assign({},Options,options);
//   return {
//     postcssPlugin: 'postcss-change-css-fontSize',
//     //钩子函数
//     Declaration(node){
//       debugger
//       console.log(node)
//       //判断需要转换的单位
//       if(node.value.indexOf('xm') != -1){
//         console.log(node.prop,node.value);
//         const num = parseFloat(node.value);
//         node.value = `${((num / opt.viewportWidth)*100).toFixed(2)}vw`
//       }
      
//     }
//   }
// }

// module.exports.postcss = true // 声明导出为postcss插件

到了这里,关于自定义postcss插件,根据倍率增大font-size大小的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • postcss-pxtorem适配插件动态配置rootValue(根据文件路径名称,动态改变vue.config里配置的值)

    项目背景:一个项目里有两个分辨率的设计稿(1920和2400),不能拆开来打包 参考: 是参考vant插件:移动端Vant组件库rem适配下大小异常的解决方案:https://github.com/youzan/vant/issues/1181 说明: 因为 vue.config.js 文件无法获取window对象,所以任何外部参数都加不进来,甚至无法打印

    2024年02月14日
    浏览(36)
  • postcss插件使用和适配方案

    使用 postcss-px-to-viewport 插件解决移动端的适配方案。 原理是将固定的像素单位(px)转换为根据视窗大小缩放的单位(vw|vh),该插件实现的就是这一单位间的转化。 参考网址: postcss-px-to-viewport 中文文档: https://github.com/evrone/postcss-px-to-viewport/blob/master/README_CN.md 该项目使用vue3+

    2024年02月09日
    浏览(25)
  • 浏览器插件 | Font Picker - 网页字体识别工具

    目录 软件简介 Font Picker插件背景  Font Picker插件离线安装教程  Font Picker 小结 软件简介 Font Picker 插件是一款用于 Chrome 浏览器的字体选择器,这种网页字体识别工具看起来非常的干净,使用起来也十分的简单。本文提供Font Picker网页字体识别工具Chrome插件v1.0.5版本的下载:百

    2024年02月08日
    浏览(33)
  • css自定义字体@font-face的使用方法

    可以设置多个 src 属性,以指定不同的字体资源路径。这样做的目的是为了增强字体的兼容性,以确保在不同的浏览器和设备上都能正常加载字体。 上面设置了三个不同的字体资源路径,分别是 .eot、.woff、.ttf 格式的字体文件,当浏览器无法识别第一个字体文件时,会自动尝

    2024年02月17日
    浏览(38)
  • 如何在windows10实现键盘控制音量快捷键 - F12增大音量、F11减低音量、F10静音 - 使用微软官方的PowerToys实用工具中的Keyboard Manager自定义快捷键

    微软官方限定,“ 快捷键至少必须有2个键 ”--- 建议使用右边的alt+F12来单手操作 安装powertoys (微软官方出品,内含“ 键盘管理器 ”,官网介绍链接) 迅雷下载: https://github.com/microsoft/PowerToys/releases/download/v0.68.0/PowerToysSetup-0.68.0-x64.exe 百度网盘下载: 链接:https://pan.baid

    2024年02月09日
    浏览(49)
  • KUKA机器人程序运行速度倍率和手动速度倍率的修改方法演示

    如下图所示,点击示教器上方的“倍率编辑”图标, 如下图所示,此时会弹出窗口,可以对程序运行倍率和手动调节倍率进行修改, 如下图所示,程序运行倍率:可以通过拖动进行设置,也可以通过点击“-”或“+”图标进行减小或增加, 如下图所示,手动调节倍率:可以

    2024年02月15日
    浏览(28)
  • IDEA插件 根据url快速定位方法

    用idea进行web开发, URL通常会分开写在controller的类和方法上,用一个完整的url很难定位到具体的方法。 介绍idea的插件RestfulToolkit,提供了这样一种方法,根据完整url直接定位方法; 首先需要在IDEA中安装这个插件,重启后进行如下操作: 快捷键ctrl(command)+;然后键入需要查找

    2024年02月06日
    浏览(37)
  • 根据aop实现自定义缓存注解

    自定义注解 切面 使用

    2024年02月13日
    浏览(47)
  • uniapp小程序自定义tabBar,根据身份切换自定义tabBar

    1. 对于导航页自定义tabBar,仍需要在pages.json中配置tabBar 2. 在App.vue中的onShow生命周期中隐藏原生tabBar 但发现切换的时候有时还是会出现原生tabBar,于是在 每一个导航页 的 onShow 生命周期中加上uni.hideTabBar({animation: false})来解决此问题 3. 在components下新建自定义组件文件,因为

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包