博文列表

博文封面

【Deno】如何为您的 JavaScript 包编写文档

创建和发布开源包是为生态系统和社区做贡献的好方法。你做了一个很酷的东西,并希望人们使用它。但仅仅将模块发布到注册表并祈祷用户会使用是不够的。帮助用户成功使用您的包不仅需要编写简明、描述性的文档,还需要确保用户能够在他们的工作流中访问文档(例如在 VSCode 中),以节省他们的时间。 感谢 JSDoc,编...

博文封面

CSS 特异性的误解

每当有关 CSS 特异性(以及级联本身)的文章发布时,我都会感到非常兴奋,因为这是语言的核心概念,每个人都应该了解。关于这个主题的文章越多越好! 但是,有时我也会皱一下眉头,因为不幸的是,我有时

博文封面

计算机科学中最困难的问题:居中对齐

这是我的说法:作为一个文明,我们忘记了如何居中对齐。 我的意思是,我们知道如何做到这一点。这从未如此简单过: display: flex; justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ (不要问为什么你需要记住四个词而...

博文封面

我更关心选项卡行为,而不是 CSS masonry(砖石)的语法和名称

最近有很多关于 CSS masonry 的讨论。它应该被称为“砖石”,而且应该使用网格吗?让我们先关注基础知识吧。 在 2022 年,我制作了这个网站:成为浏览器的导师,而不是微观管理者。上面有一些关键原则,是一个不错的瓷砖集合。

博文封面

Figma 移动引擎的演变:编译掉我们的自定义编程语言

我们长期以来一直在使用 Skew 编写我们移动渲染架构的核心部分,这是我们发明的自定义编程语言,目的是为我们的播放引擎挤出额外的性能。以下是我们如何在不中断一天开发的情况下自动将 Skew 迁移到 TypeScript 的方法。 Skew 在 Figma 早期作为一个边项目开始。当时,Skew 在 F...

博文封面

一个关于CSS masonry(砖石)布局的替代提案

注:文章的“砖石”指 “masonry”,“网格”指 “grid”,分别是两种布局设计。 Chrome 团队渴望在Web上实现 masonry(砖石)类型的布局。然而,我们认为,按照最近WebKit帖子中提出的方式,将其作为CSS Grid规范的一部分来实现将是一个错误。我们还认为,WebKit帖子反...

博文封面

五种 Cookie 同意管理器损害网站性能的方式(以及如何修复它们)

我最近花了很多时间观察欧洲网站的性能,发现同意管理平台(CMPs)在人们尝试使用合成监控来理解性能时,始终会创造一个虚假的现实。诚然,这不是一个新话题,但我觉得它足够重要,值得再次提醒大家。 在这篇文章中,我将涵盖一些与在CMPs存在的情况下测量性能相关的问题,并提供一些资源,用于在SpeedCurve

博文封面

为什么我们不再讨论压缩CSS了?

压缩CSS有助于提高网站性能。但是作为开发者,我们真的不再讨论压缩CSS了。 为什么? 简而言之,现代技术栈已经改进了CSS的传输和优化,使其实际上不再是一个问题。HTTP/2和

博文封面

Chrome 125中的新特性 - DevTools

元素 > 样式中支持@position-try规则 为了帮助你调试CSS锚点定位,元素 > 样式标签页现在支持

博文封面

在 NPM workspace 中使用 Vite 重新构建本地依赖

在 Prosopo,我们使用 Vite 构建应用程序。我们有一个包含多个相互依赖的包的单体仓库结构。当我们对 Vite 项目所依赖的包进行更改时,Vite 不会自动重新构建本地包依赖项,因为它位于模块图之外。本文解释了如何让 Vite 在 NPM 工作区中重新构建本地依赖。 NPM 工作区结构 类似于