当前位置: 首页 > 网络应用技术

快速输入PostCSS插件-In:自动转换PX到REM

时间:2023-03-06 13:06:27 网络应用技术

  PostCSS是CSS的转板器(转换编译器,称为简称翻译器)。它可以在同一时间分析和转换诸如babel之类的CSS代码,还为自定义转换提供了插头机制。

  在本节中,我们可以通过PX自动REM函数从PostCSS插头开始。

  PostCSS是CSS到CSS的翻译。它也分为三个阶段:分析,变换和生成。各种转换插件正在转换阶段工作,根据AST进行分析和转换。

  CSS的AST比JS简单得多,有几种主要类型:

  Atrule:以 @ a开头的规则,例如:

  规则:选择者的规则,例如:

  decl:特定样式,例如:

  JS解析器的数十个AST更简单吗?

  这些可以通过astexplorer.net查看以视觉查看

  PostCSS插件正在转换阶段,处理AST节点,并且插件的形式为:

  外层函数接受选项,返回插头的对象,声明处理节点的侦听器处理,然后在相应的侦听器中写入处理逻辑。

  您也可以这样写:

  与第一种类型相比,回到准备中的各种听众,优势是可以存储一些公共逻辑。

  然后,您可以运行插头-in:

  让我们写一个简单的PX自动REM插头 - 练习手。

  PX是一个固定长度单元,设备视口的大小是多种多样的。我们希望通过一组样式适应各种设备的显示,并且需要相对单元。通常使用是REM。

  与HTML元素相比,与字体大小相比,REM的本质等效于缩放。

  例如,HTML的字体大小设置为100px,然后将1REM等于100px,如果是200px,则将后期的样式写为2REM。

  这样,我们只需要修改HTML字体大小即可适应各种屏幕宽度的显示,并且特定的单元将达到相等的比例。

  我们需要根据HTML的字体大小值将所有PX转换为REM。通常,他们正在手动这样做,但很麻烦。知道计算方法后,您可以使用PostCSS插件。

  接下来,我们将意识到此Postcss插件-in

  让我们以插件的基本结构来进行插件的基本结构,只需要声明所处理的侦听器即可声明:

  那么该怎么做是将DEL的样式值转换为REM的样式值,只需简单的规律性替换它:

  替换字符串的替换方法。第一个参数是匹配的字符串,后续参数是组,第一个组是px的值。

  计算与PX相对应的REM需要1REM的PX值,该值可以通过选项支持它。

  然后我们测试:

  可以看出,转换已经正确完成:

  当然,我们的插件只是一种情况,它并不完美。如果是完美的,则需要更复杂的规律性。

  PostCSS是CSS的转换器,就像Babel是JS的跨攻击者一样,Postcss的AST只有几个节点。它相对简单。您也可以通过astexplorer.net查看它。

  PostCSS还提供插件功能,可以进行一些自定义分析和转换。

  我们已经实现了一个简单的PX自动旋转REM Plug -in:

  REM是通过等效缩放方法显示不同设备宽度的方案。您需要进行PX进行REM转换。可以使用PostCSS插件来完成此问题。

  实际上,有许多应用程序用于Postcs插头的分析和转换功能,例如切换主题颜色。从白色到黑色,您可以自动通过PostCSS分析颜色的价值,然后进行转换。

  PostCSS分析和转换CSS能力仍然非常强大且有用。业务中的许多应用程序方案正在等待您发现。