Skip to content

pantoken / flatten-property

flatten-property

Beta

@pantoken/plugin-flatten-property — 将 @property at-rules 转换为普通的自定义属性 声明。

@property at-rules 注册带有 syntax, inherits, 和 initial-value 描述符的类型化 CSS 自定义属性。它们会造成显著的字节开销 — 每个 属性约 ~60 字节的样板代码 — 当样式表是自包含的捆绑包且类型注册对运行时没有益处时,这些是 不必要的。此插件将每个 @property 块替换为在所选选择器内的一个简单 --name: value 声明,从而回收所有这些开销。

语义说明: 删除 @property 将丢失 CSS 的类型注册。类型化的过渡/动画、 @starting-style 和 CSS Typed OM 都依赖于它。仅在不需要这些语义的捆绑包上应用。

示例

ts
import postcss from "postcss";
import { flattenProperty } from "@pantoken/plugin-flatten-property";
const out = postcss([flattenProperty()]).process(css, { from: undefined }).css;

接口

变量