博文列表

将滚动驱动的动画从 JavaScript 重构到 CSS
滚动链接动画目前在前端领域非常流行,这在很大程度上得益于原生 CSS 方法将动画链接到滚动进度的日益普及。我甚至在这个网站上使用了它们。屏幕左上角的进度指示器是使用大量尖端 CSS 特性构建的。 然而,滚动链接动画并不是什么新鲜事,真正新鲜的是日益增长的支持,可以在不编写一行 JavaScript 的情况下实...
慢速互联网环境的工程化-如何在南极洲最小化用户的挫败感
大家好!我写这篇文章的时候还在南极洲,但在完成之前我就离开了。 我在整理旧草稿时,发现这篇文章几乎已经完成。 这篇文章与brr.fyi上通常的内容有些不同,但它反映了我的软件/IT工程背景。 我希望人们发现这是对在带宽受限环境中使用互联网的现

visionOS:开发适用于空间网络的网站
随着visionOS 2的发布,现在是确保您的网站在visionOS中的Safari上正常工作的绝佳时机。对于空间网络,您基本上不需要做任何特别的事情。它确实是Safari,拥有相同的WebKit引擎和对网络标准的广泛支持。 您可以通过观看WWDC23主题演讲或Meet Safari for
内联条件语句在CSS中的实现
上周,CSS工作组(CSS WG)决定在CSS中加入内联if()函数。这是什么意思,又为何令人兴奋? 上周,我们在西班牙的拉科鲁尼亚举行了一次CSS WG面对面会议。那次会议中有一个决议让我特别兴奋:一致同意在CSS中添加内联if()函数。尽管我不是第一个提出内联条件语句的人,但我确实尝试将各种无休止的讨论缩...

一个单一漏洞如何能够摧毁JavaScript生态系统
引言 在软件开发的世界里,我们经常想当然地认为我们日常依赖的工具和平台是安全和可靠的。我们假设我们下载的包和我们使用的注册表是安全和值得信赖的。然而,在Lupin & Holmes,我们最近发现了npm注册表上的一个缓存投毒攻击,这是JavaScript最大的包注册表之一,可能暴露了我们的软件供应链的脆弱性以...

TC39推进关键提案:Deferred Import Evaluation、Error.isError()、正则表达式转义、Promise.try
Ecma TC39(技术委员会39)的代表们本周在芬兰参加他们的第102次会议,这次会议由Mozilla和阿尔托大学主办,为期三天。他们在本周的本地活动和会议上也发表了演讲。 TC39负责开发和维护ECMAScript编程语言规范。该委

我今天尝试了 React 编译器,你猜怎么着... 😉
探究我们现在是否可以忘记 React 中的 memoization,因为 React 编译器现在已经开源了。 这可能是我想出的最具有点击诱饵性质的标题,但我觉得关于 React 社区这些天最热门话题之一的文章值得这样做 😅。</

如何在 CSS 中使用 rem 单位实现可访问性设计
作为网页设计师,您的主要职责之一是创建无论用户使用何种设备都能轻松阅读的网站。传统方法,如使用像素为字体大小设置,会根据观看者的设备或个人偏好设置文本的恒定大小。然而,这对于有视觉障碍的用户来说可能是非常具有挑战性的,因为他们无法将文本调整到舒适的大小。 这就是相对 CSS 单位如‘rem’和’em’的用武之...

网络浏览器引擎的历史从1990年至今
许多尝试,少数留存… 自Chromium崛起以来,浏览器多样性的丧失一直备受哀叹。下面你可以看到一个图表,展示了历史上和当前的浏览器引擎(不是浏览器,而是HTML渲染引擎),以及它们的开发时间。对于较大的引擎,市场份额由彩色形状表示(见图例)。 我们现在已深入到“第四个统治时代”。NCSA Mosaic在开始...

高亮浏览器引擎重新绘制的区域
当您滚动网页或网页的部分内容发生变化时,浏览器引擎有时需要重新绘制页面的部分区域。将布局和样式信息转换为屏幕上的像素点的过程对每个浏览器引擎来说是特定的,但可能在性能方面代价很高,特别是当重新绘制的区域很大且频繁发生时。 如果您怀疑网页因频繁和大面积的重新绘制而变慢,请使用 DevTools 中的 绘制闪烁 ...
