你是否曾经想用 CSS 做一些不可能的事情?最近我一直在想;如果我可以创建自己的自定义样式和动画,并且仅受我自己的想象力限制,该怎么办?如果我能让浏览器理解我刚刚编写的一个全新的 css 属性怎么办?或者,哎呀,甚至可以开始在屏幕上绘制一些样式 - ExCusE mE!
向 CSS Houdini 打个招呼吧!
作为开发人员,我们一直在寻找突破 CSS 限制的方法。我们依靠 hacky 解决方法和第三方库来用它构建很酷的东西。但与我第一次了解胡迪尼时相比,这一切都不是!从那时起游戏就结束了。从字面上看,就好像我们开发人员获得了浏览器 CSS 引擎的钥匙!现在我们可以利用以前从未获得过的造型能力。在这篇博文中,我们将深入探讨 houdini 的工作原理、它在现实世界应用程序中的使用情况以及为什么您应该像昨天一样开始学习它!
CSS Houdini 是 API 的集合,使开发人员可以直接访问浏览器的底层渲染引擎,从而让他们能够利用并扩展 CSS 本身。它被称为 Houdini 是因为,就像著名魔术师 Harry Houdini 一样,它允许开发人员通过访问低级 JavaScript API 和可在运行时执行的功能来完成不可能的事情(或以前不可能的事情)。
CSS 历史上是一种声明性语言 - 您定义样式,浏览器处理渲染。这种方法有一些局限性:
Houdini 通过 API 改变了这一切,允许您直接在浏览器中编写自己的样式和行为,公开急需的性能检测挂钩和渲染功能。
Houdini API 允许开发人员扩展浏览器的样式和布局功能。一些主要部分包括:
让您制作自己的图形(如图案、渐变或形状)并使用它们来绘制背景或边框。
它允许您定义自定义布局行为,意味着您希望以何种方式排列应用设计的元素。
让您可以精细地控制动画,让您创建自定义动画效果。
以编程方式读取/写入/操作 CSS 值的更高效方法。
这允许您定义具有特定类型和默认值的新自定义 CSS 属性。
让我们探索如何使用 Paint API 创建自定义背景图案。
示例:自定义虚线背景
定义绘制工作集
首先,创建一个 JavaScript 文件 (dotted-background.js) 来定义您的自定义绘制工作集:
注册工作集
在您的 CSS 文件中,链接工作集:
结果
您的 div 现在具有自定义的点状背景,完全通过 Paint API 进行样式设置,无需依赖外部库。
动态渐变
创建响应用户交互或随时间变化的渐变。
示例:带有渐变背景的登录页面,背景会随着用户输入而变化。
自定义动画
使用动画工作集创建流畅的、基于物理的动画,例如弹跳元素或交互式视差效果。
示例:将鼠标悬停在上方时会“浮动”的产品卡。
独特的布局
使用布局 API,您可以将元素排列为独特的形状或图案,例如螺旋、带间隙的网格,甚至六边形布局。
示例:以蜂窝状图案显示图片的图库应用。
性能提升
Houdini 直接与浏览器的渲染引擎集成,因此您不必依赖繁重的 JavaScript 库。
无尽的定制
您不再受 CSS 本身功能的限制。如果你有梦想,你就可以用 Houdini 构建它。
面向未来的技能
随着 Houdini 采用率的增长,知道如何使用这些 API 的开发人员将立即能够开始构建一些非常酷的东西。
虽然 Houdini 很强大,但它仍然是一项新兴技术:
CSS Houdini 正在改变我们处理样式、动画和几乎所有事物的方式。该 API 为开发人员提供了对浏览器渲染引擎的低级访问。这开启了许多以前在 CSS 中无法想象的可能性。一旦 Houdini 出现,您能想到的动态渐变、可摇动的布局或栩栩如生的动画都可以创建。
此功能还处于早期阶段,但我很想开始探索它的功能。到那时,我们在网络上能做的事情就真的没有限制了!那么,您是否也对为我们心爱的平台带来一些魔力感到兴奋呢?因为我就是。
以上是CSS Houdini:浏览器的秘密超能力的详细内容。更多信息请关注PHP中文网其他相关文章!