Houdini - CSS现在与JavaScript延伸

2021-05-13 00:49:10

Houdini是一组低级API,公开CSS引擎的一部分,使开发人员通过挂钩浏览器渲染引擎的造型和布局过程来扩展CSS的电源。 Houdini是一组API,使开发人员直接访问CSS对象模型(CSSOM),使开发人员能够编写代码浏览器可以解析为CSS,从而在不等待它们在浏览器中自然实现的新CSS功能。

Houdini可以更快的解析时间来使用JavaScript风格的样式更改。浏览器解析CSSOM - 包括布局,油漆和复合过程 - 在应用脚本中的任何样式更新之前。此外,对JavaScript风格更新重复布局,涂料和复合过程。 Houdini代码没有等待第一次渲染周期完成。相反,它包含在该第一周期中 - 创建可易懂的样式。 Houdini提供了一个基于对象的API,用于使用JavaScript中的CSS值。

Houdini' S CSS键入OM是具有类型和方法的CSS对象模型,将值曝光为JavaScript对象,使得更直观的CSS操作而不是基于先前的字符串的HTMLElement.Style操作。每个元素和样式表规则都有一个样式映射,可通过其StylePropertyMAP访问。

CSS Houdini的一个功能是工人。使用Worklet,您可以创建模块化CSS,需要单行JavaScript来导入配置组件:无需预处理,处理器或JavaScript框架。

CSS Paint()函数参数包括Workl的名称以及可选参数。 Worklet还可以访问元素' s自定义属性:他们不需要传递为函数参数。

注意:强大的力量是责任!与Houdini你可以发明自己的砖石,网格或地区的实施,但这样做并不一定是最好的主意。 CSS工作组执行大量工作以确保每个功能都是表演,处理所有边缘案例,并考虑安全性,隐私和可访问性。当您与Houdini的CSS扩展时,请务必记住这些考虑因素,并在继续前进到更雄心勃勃的项目之前开始小。

下面您可以找到覆盖在Houdini伞下的API的主要参考页面的链接,以及指南的链接,以帮助您,如果您在学习如何使用它们时可以帮助您。

API将CSS解析器更直接地暴露,用于将任意CSS的语言解析为轻度类型的表示。目前没有为此API编写指导或引用。

定义用于注册新CSS属性的API。使用此API注册的属性具有定义类型,继承行为和初始值的解析语法。 CSS属性和值API参考CSS属性和值API指南

将CSSOM值字符串转换为有意义的键入的JavaScript表示,并返回可能会产生显着的性能开销。 CSS键入OM将CSS值暴露为键入的JavaScript对象,以允许其性能处理。 CSS键入OM参考CSS键入OM指南

旨在提高CSS的可扩展性,此API使开发人员能够编写自己的布局算法,如砖石或线捕捉。它尚未自然可用。目前没有为此API编写指导或引用。

开发以提高CSS的可扩展性 - 允许开发人员编写可以通过Paint()CSS函数直接绘制的JavaScript函数,该函数直接绘制到元素和#39; b背景,边框或内容。 CSS绘画API参考CSS绘画API指南

用于在渲染管道的各个阶段运行脚本的API,而独立于主JavaScript执行环境。 Worklet在概念上类似于Web工作者,并通过并扩展渲染引擎。工作室参考