Honglei He's avatar

Honglei He

前端工程师 @ Ingersoll Rand (英格索兰)
上海

兴趣使然的网文作家,前端工程师~ 热爱技术,热爱生活,终身学习者。

00后 前端开发 网文作家 终身学习者

博客技术栈

本站使用以下技术构建,追求高性能与最佳开发体验

Astro 5

现代化的静态站点生成器

Tailwind CSS 3

实用优先的 CSS 框架

TypeScript

类型安全的 JavaScript

Swup

页面过渡动画

记录技术学习、前端开发经验和日常思考。每一篇文章都经过精心打磨,希望对你有所帮助。

CSS :has() 实战:父选择器只是表象,真正要理解的是关系查询与失效成本

CSS :has() 实战:父选择器只是表象,真正要理解的是关系查询与失效成本

把 :has() 当成「父选择器」会漏掉一半用法,也会低估它的代价。本文用卡片布局、表单状态、数量查询等场景讲清相对选择器的匹配方向,再拆解三个容易静默失效的语法边角(不可嵌套、非 forgiving、特异性抬升),最后解释为什么一次指针移动可能让它比 :focus-within 更贵。

Monorepo 的三层工具:pnpm workspaces、Turborepo 与 Nx 各自解决哪一段

Monorepo 的三层工具:pnpm workspaces、Turborepo 与 Nx 各自解决哪一段

把三者放进同一张分层图:pnpm 负责依赖解析与安装,Turborepo 负责任务编排与缓存键,Nx 把仓库结构变成可查询的项目图。再用几个缓存失效现场说明,选型时真正该问的不是功能表,而是「谁为缓存正确性签字」。

「暂时下线,恢复时间另行通知」:功能下线公告翻译指南

「暂时下线,恢复时间另行通知」:功能下线公告翻译指南

「为了提供更好的服务,部分功能将暂时下线,恢复时间另行通知」——功能下线公告是一种有语法的文体:主语会消失,时间会模糊,原因会抽象。把常见句式逐条翻译回它们掩盖的承诺,再给出一份读公告的检查清单,以及 Adobe Flash、IE11、Google Reader、Heroku 的真实通知期对比。

键盘玄学:从薄膜到客制化,打字五分钟调轴两小时

键盘玄学:从薄膜到客制化,打字五分钟调轴两小时

润轴、加棉、换弹簧、调卫星轴——折腾一下午,打字速度没变。键盘圈真正可测量的只有三件事:同时按键、消抖和延迟;其余大多是手感和身份。附一个浏览器里能跑的键盘事件测试,以及一张「什么时候才值得买第二把键盘」的判断表。

我的技术栈

多年积累的技术能力,持续学习与进步

React
Vue.js
TypeScript
JavaScript
HTML5
CSS3
Tailwind CSS
Astro
Svelte
Node.js
Git
VS Code
pnpm
Vite
Markdown

我的项目

以下是我参与和开发的一些项目,持续更新中

个人博客

基于 Astro + Tailwind CSS + Svelte 构建的个人博客,支持多内容集合、全文搜索、暗色模式、页面过渡动画等功能。

Astro Tailwind CSS Svelte TypeScript

个人图库

具有上传、管理、读取、删除等全链路功能,覆盖文件全生命周期,支持鉴权、目录、图片审查、随机图等各项特性

Cloudflare R2 Telegram RESTful APIs WebDAV

个人文件管理

个人在线文件托管服务

React TypeScript CSS Modules Storybook