-
CSS scroll-state() 可以把可滚动、最近滚动方向、滚动吸附和 sticky 卡住状态交给容器查询判断。本文说明从 JavaScript 滚动监听迁移到 container-type: scroll-state 与 @container 的最小写法、四类描述符、结构前提和渐进增强边界。
-
CSS @starting-style 用来为首次显示或从 display:none 变为可见的元素提供过渡起始值。本文以原生 dialog 为例,拆解默认态、进入态、display 离散过渡和兼容降级,让弹窗既能淡入也能完整淡出。
-
CSS sibling-index() 可以读取元素在同一父节点兄弟元素中的位置,并直接参与 calc() 生成递增的 animation-delay。本文从 DOM 顺序、动画步长、prefers-reduced-motion、@supports 和 nth-child() 降级几个环节说明如何在动态列表中减少手写编号,同时保留旧环境的基础样式。
-
Vite 的 resolve.conditions 用来参与 package exports 条件解析。本文从开发与生产入口不一致的现象出发,说明 browser、development|production、import 和 default 的匹配关系,以及如何在扩展条件时保留合理的客户端默认值。
-
用 TypeScript 小项目演示 tsBuildInfoFile 将增量信息集中到 .cache/ts,区分 rootDir、outDir 与缓存文件路径,并说明配置继承、多配置独立文件名及清理集成边界。
-
Promise.allSettled 会按输入顺序返回每个任务的 settled 结果。本文用任务描述数组和同索引合并方式保留 key、label、status、value 或 reason,并说明它与 Promise.all 的边界。
-
JavaScript Element.setPointerCapture 可以把后续指针事件继续交给拖拽元素,即使指针已经移出元素。本文说明 pointerId、pointerup、pointercancel、releasePointerCapture 与 touch-action 的配合方式。
-
SVG symbol 用于保存可复用图形模板,use 负责创建实例。本文用圆点和徽章示例说明 href、viewBox、x/y、width/height 与 preserveAspectRatio 的分工。
-
说明 JavaScript Iterator.from 如何统一数组、集合与自定义同步游标,区分类数组适配,结合任务编号示例解释单次消费、关闭职责与运行时兼容处理。
-
scheduler.postTask 返回 Promise,并可通过 AbortController 或 TaskController 的 signal 取消尚未执行的任务。本文给出最小写法、错误处理和已开始任务的边界。
-
DocumentFragment 插入页面前可以直接使用 querySelector、querySelectorAll 和 getElementById 查询内部元素。关键是把查询放在片段仍持有子节点时,并理解插入后片段会被清空、已取得的元素引用仍然有效。
-
本文从多个 tsconfig 清理和重建顺序混乱的现象出发,说明如何用 references、composite 和 solution tsconfig 描述项目图,再用 tsc -b 的 dry、clean、verbose 和 force 选项按依赖关系处理构建。
-
CSS field-sizing: content 可以让文本输入框按当前内容调整首选宽度,再配合 min-width、max-width 和 maxlength 控制伸缩边界。本文从固定宽度表单的症状出发,说明触发条件、最小写法、placeholder 与兼容性边界。
-
Vite 依赖预构建出现重复,常见原因不是简单的缓存脏了,而是同一个包的条件导出被解析成多个入口。本文从 exports 条件、源码入口、optimizeDeps 配置和 node_modules/.vite 缓存四处排查,并给出适合开发环境的最小修复方式。
-
SVG位移滤镜的scale按通道值相对0.5的差放大采样偏移。本文用固定色示例说明偏移范围、反向采样、坐标单位和滤镜裁切,避免把scale直接当作屏幕移动距离。