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

本教程演示了使用智能表单框架创建外观专业的JavaScript表单(注意:不再可用)。 尽管框架本身不可用,但原理和技术仍然与其他形式的建筑商相关。

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

构建内联文本编辑器并不是微不足道的。 该过程首先要使目标元素可编辑,并在此过程中处理潜在的语法异常。 创建您的编辑器 要构建此编辑器,您需要动态修改内容

这是我们在形式可访问性上进行的小型系列中的第三篇文章。如果您错过了第二篇文章,请查看“以:focus-visible的管理用户焦点”。在

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。

本文探讨了Envato Market上可用的PHP表单构建器脚本,比较了其功能,灵活性和设计。 在研究特定选项之前,让我们了解PHP形式构建器是什么以及为什么要使用一个。 PHP形式

该教程通过使用node.js,express和multer构建文件上传系统来指导您。 我们将介绍单个和多个文件上传,甚至演示在MongoDB数据库中存储图像以进行以后的检索。 首先,设置您的projec


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver Mac版
视觉化网页开发工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。