前端技术文章
-
用一个可运行的 CSS 示例解释 backdrop-filter 的透明背景、滤镜叠加和 backdrop root 边界,并给出兼容回退检查。496 收藏 -
文章 · 前端 | 2个月前 | css · 前端开发 · anchor-name position-try-fallbacks CSS anchor positioning position-anchor 前端浮层
用一个可移动的菜单按钮和提示浮层,验证 CSS anchor positioning 如何通过 anchor-name 建立锚点、position-anchor 连接目标,并用 position-try-fallbacks 在空间不足时切换位置。454 收藏 -
原生 Drag and Drop API 只解决了鼠标拖动,键盘用户仍需要一条明确的选择、移动、确认路径。用按钮化抓手、aria-live 状态和统一提交函数,可以让拖拽排序、方向键移动、焦点恢复与服务端校验共用一套状态模型。383 收藏 -
用 ResizeObserver 监听响应式卡片宽度时,先读取 borderBoxSize,再用 requestAnimationFrame 合并同一帧更新,避免回调里反复改布局造成循环告警。487 收藏 -
Promise.withResolvers() 把 promise、resolve、reject 放到同一作用域,适合事件回调和外部控制场景。本文从旧构造器写法迁移,说明异常收口、一次性结算与兼容回退。412 收藏 -
实现模态层时,inert 负责让背景区域真正停止交互,dialog 与 aria-modal 负责表达语义,关闭时再把焦点还给触发按钮,避免键盘用户迷路。430 收藏 -
用原生 Popover API 做一个可点击外部关闭的帮助菜单,说明 popover=auto、beforetoggle 与 toggle 的职责差异,并用键盘焦点和 Esc 关闭行为完成验收。256 收藏 -
用 CSSStyleSheet 构造共享样式,通过 adoptedStyleSheets 挂载到多个 ShadowRoot,并验证 replaceSync 更新、文档归属与兼容边界。365 收藏 -
文章 · 前端 | 2个月前 | 前端 · javascript · 自定义元素 Web Components Custom Elements customElements.define connectedCallback
自定义元素已经出现在 HTML 中时,脚本晚到仍可通过 customElements.define 完成升级;真正容易出问题的是重复注册、connectedCallback 多次触发和元素尚未连接时的初始化。本文用 price-badge 示例拆开升级时机、生命周期和可回退的注册写法。104 收藏 -
长段落最后只剩几个字时,CSS text-wrap-style: pretty 可以让浏览器优先减少孤行,但它比普通换行更耗计算。本文从标题、正文和 contenteditable 三种场景拆开 pretty 与 balance 的边界,并给出兼容写法与检查方法。309 收藏 -
当卡片标题、正文和按钮高度不一致时,CSS subgrid 可以让嵌套卡片共享父级网格轨道。本文用一组商品卡片拆开 grid-template-rows: subgrid 的生效条件、代码改法、@supports 回退与常见边界。474 收藏 -
用 HTML inert 配合 dialog 和 HTMLElement.inert 锁住模态框背后的页面,解释焦点、点击与无障碍树的真实变化,并给出可验收的回退写法。398 收藏 -
用一个可复现的无限列表场景,拆解 IntersectionObserver 的 rootMargin、threshold、unobserve 与 disconnect,避免滚动监听重复触发和组件卸载后的残留回调。196 收藏 -
WebGPU 的计算结果不会自动出现在 JavaScript 里:本文用 output 与 stagingBuffer 两个 GPUBuffer,串起 copyBufferToBuffer、mapAsync、getMappedRange、unmap,并补上 GPUDevice.lost 的恢复边界。381 收藏 -
搜索框连续输入时,旧请求可能晚于新请求返回并覆盖结果。本文用 AbortController 取消上一请求,配合请求序号和状态复原,收口竞态并给出可运行的验证示例。207 收藏