从 Chromium 114 中的 popover API 开始,我们将面向浏览器推出一组新的声明式 HTML API,用于构建弹出式窗口。
这些功能包括能够轻松为进入和退出动画添加动画效果,以及针对可关闭的元素(例如对话框和弹出式窗口)顺畅地从顶层添加动画效果。
同时在弹出式窗口和主页上设置 COOP: restrict-properties 不会导致限制。如果仅在弹出式窗口或主页面上设置此政策,系统将禁止通过 opener 访问除 postMessage 和 closed 以外的属性,即使这两个项目同源也是如此。
滚动驱动的动画是一种向您的网站或 Web 应用添加互动和视觉吸引力的方式,由用户的滚动位置触发。这是一种非常棒的方法,可以持续吸引用户,并让您的网站在视觉上更具吸引力。
“Inert”表示无法移动,因此,当您标记某些元素时,会移除这些 DOM 元素的移动或互动。
滚动条驱动的动画是 Web 上常见的用户体验模式。滚动驱动的动画与滚动容器的滚动位置相关联。这意味着,当您向上或向下滚动时,链接的动画会以直接响应的形式向前或向后拖动。例如,视差背景图片或阅读指示器会随着您滚动而移动
CSS 变量在 50% 存储了不透明度值,该值随后与 HSL 一起使用,以创建半透明的蓝色背景。嵌套媒体查询会检查用户对降低透明度的偏好,如果为 true,则将不透明度变量调整为 95%(一个近乎不透明的值)。
多年来,我们一直构想一个“父级选择器”。现在终于来了!采用 :has() 伪选择器的形状。您可以想到哪些有趣的 :has() 用例?这里最吸引人的就是打破你的心智模式。这会让人想到“我可以换种方式处理这些风格吗?”。
有一天,我在 MDN 上浏览时,决定寻找一些鲜为人知的标记。
由于 CSS 一直以来都不允许动画调整为 height: auto;,因此我们不得不使用 JavaScript 来测量内容的高度,并根据该像素值调整动画。当calc-size() 函数功能在浏览器中出现时,我们就可以这样实现了
Windows 中有一个 WSC(Windows 安全中心)服务,防病毒软件使用它来让 Windows 知道有其他防病毒软件在运行,并禁用 Windows Defender。
向选择选项列表添加 <hr>(水平线)元素,这些元素将显示为分隔符,从视觉上分解各个选项,以便提供更好的用户体验。
排版孤立词和孤立词是指段落或文本块末尾独立的单个字词。孤子是指单独显示在文本块顶部的字词,而孤立字符则位于文本块末尾。它们会妨碍我们的眼睛浏览文字,导致内容难以阅读
某些东亚语言(如中文或日语)不使用空格来分隔字词,并且行可以在任何字符处换行,即使它位于单词中间也是如此。这是这些语言的正常换行行为,但在标题或诗歌等短文本中,最好在自然短语边界处换行
随着近期(甚至之前)推出的 Document Picture-in-Picture API 推出,Web 开发者越来越希望能够在用户从当前标签页切换焦点时自动打开画中画窗口。这对于视频会议 Web 应用尤为有用
在 WordPress 中,设置可读性好 URL 地址结构非常简单。只有搜索页面尚未受到该设置的影响,它的默认语法是带有搜索参数 “s”。但有一种方法可以随心所欲地更改搜索结果显示页面的url网址。
表单控件元素的垂直写入模式意味着这些元素可以以垂直写入模式显示。
这篇博文详细介绍了如何使用 Puppeteer 运行和测试支持蓝牙的 Web 应用。其中的关键部分是 Puppeteer 能够操作 Chrome 的蓝牙设备选择器。
考虑到通过 Web MIDI API 自由访问连接的 MIDI 设备存在安全问题,W3C 音频工作组要求针对 Web MIDI 规范中的所有 MIDI API 使用提出明确权限要求。
css 锚点定位简化了许多界面功能(例如菜单和子菜单、提示、选择、标签、卡片、设置对话框等)的复杂布局要求。借助内置于浏览器中的锚点定位,您将能够构建分层界面,而无需依赖第三方库,开启了一个充满创意的世界。
只是因为这些东西都相当新,而且我感觉很多人都不知道这些东西。或者说,即使他们知道,也不甚了解,他们可能需要一个通俗易懂的解释,说明这是什么,为什么他们应该关心,以及一些参考代码。也许你就是这样的人。
让我们一步步来亲身体验一下,网络开发人员可以利用这个渴求已久的工具做些什么。事实证明,:has() 伪类不仅仅是一个 “父选择器”。在经历了几十年的死胡同之后,这个选择器能做的事情远不止这些。
这种基于 SVG 的电子邮件保护方法的主要优点是无需 JavaScript。
CSS 文本框修剪是一种 CSS 属性,可用于去除文本块的前导空白。这对于去除文本顶部与容器顶部之间的空白非常有用。
我经常目睹即兴音乐家在演出的高潮时,满头大汗地试图在狭小的手机屏幕上捏缩一张 A4 PDF 文件。我们需要流畅、反应灵敏的 web 乐谱呈现!
ULID 为传统的 UUID 和简单的数字 ID 提供了令人信服的替代方案,尤其是对于同时要求唯一性和可排序性的应用而言。
原则上,这意味着尽可能减少坐着的时间,增加站立和轻度体力活动,增加更剧烈的体力活动,以及争取每晚 7.5-9 小时的健康睡眠。
与已废弃的 DOM Mutation Events 规范相比,新规范的主要优势在于效率。如果您正在观察一个节点的变化,您的回调将在 DOM 完成变化后才被触发。
在着色器程序和其他各种程序中,使用时间来制作动画非常常见。CSS 无法像 JavaScript 那样启动计时器,但现在可以通过 CSS Houdini API 定义一个自定义变量,以毫秒为单位跟踪时间。
Python 中不仅有很多 C 语言的元素,而且它们是对立的,可以很好地互补。让 Python 代码变得更快的一个好方法就是以正确的方式使用 C 库。相反,安全使用 C 的好方法是用 C 编写核心,用 Python 编写核心之上的大量逻辑。
容器化是一种虚拟化形式,可以将应用程序及其依赖关系打包并隔离到一个容器中。容器包括应用程序代码、运行时、库和系统工具,并确保应用程序在不同环境下运行一致。
总之,PHP 没有死,也不再糟糕。自 2012 年以来,PHP 已经发生了重大变化,是时候修正我们对它的看法了。
这理所当然地引起了轩然大波。用户指出了他们说法中的许多缺陷。首先,大量个人和组织对该标准表现出极大的兴趣;其次,JPEG XL 带来的创新绝对是 “足够的增量效益”,尤其是他们最近接受了 AVIF,而 AVIF 比现有标准更缺乏功能。
在浏览器中存储数据的另一种方法是 Web Storage API。window.sessionStorage 和 window.localStorage 属性与持续时间中的会话和永久 cookie 相对应,但是存储限制比 cookie 大,并且永远不会发送到服务器。
Libuv 在 Node.js 中的重要性怎么强调都不为过;它是 Node.js 异步和事件驱动架构的支柱。