前端技术文章
-
文章 · 前端 | 2天前 | 前端 · css · 浮层 · 浏览器布局 · CSS anchor positioning anchor-name position-area position-try-fallbacks
CSS anchor positioning 可以把提示浮层和目标元素建立布局关系,再用 position-try-fallbacks 处理靠近视口边缘时的换位。本文从一个可运行的提示菜单例子出发,说明锚点声明、浮层定位、溢出回退和兼容降级的验证方法。373 收藏 -
ResizeObserver 回调里直接改尺寸,可能让布局反馈进入下一帧并反复触发 loop completed with undelivered notifications。本文用真实的 ResizeObserver、requestAnimationFrame 和 entry.target.style.width 示例拆解原因,并给出可验收的收敛写法。456 收藏 -
CSS zoom 会参与布局计算,适合让局部内容按比例放大或缩小;transform: scale() 只改变绘制结果。本文用卡片面板说明两者差异、响应式边界与降级验收。263 收藏 -
文章 · 前端 | 3天前 | 前端 · dom · javascript · css · 浏览器API · Element.checkVisibility visibilityProperty opacityProperty contentVisibilityAuto 前端可见性
Element.checkVisibility() 能判断元素是否有布局盒、是否被 display:none 或 content-visibility:hidden 跳过渲染;通过 opacityProperty、visibilityProperty 和 contentVisibilityAuto 可以收紧判断,但 true 仍不等于元素真的出现在视口中。292 收藏 -
跨域 iframe、弹窗通信最容易漏掉的不是消息格式,而是发送方身份校验。本文用 origin、source 和消息结构三道边界,写出可验证的 postMessage 接收与回复代码。462 收藏 -
用一个原生 HTML dialog 表单说明 showModal、close、returnValue 与 cancel 事件的关系,给出提交、取消和重复打开时的可靠状态处理方式。229 收藏 -
文章 · 前端 | 3天前 | 前端 · javascript · Fetch API · 异步控制 · JavaScript 请求超时 AbortSignal.any AbortSignal.timeout fetch请求取消
用 AbortSignal.any 合并用户取消和超时信号,让 fetch 请求只监听一个入口,并按 AbortError、TimeoutError 区分结束原因,补上兼容与竞态边界。276 收藏 -
用一个可运行的曝光实验说明 IntersectionObserver 的 threshold 数组如何触发可见比例回调,并用 Set 做首屏曝光去重,避开重复上报和阈值误判。133 收藏 -
前端表单用 blur 做逐字段校验时容易出现提示抖动。用 focusout 事件委托、relatedTarget 判断焦点是否仍在字段组内,再配合 requestId 丢弃过期结果,可以让校验状态稳定下来。356 收藏 -
文章 · 前端 | 3天前 | 前端 · css · 动画 · Web API · CSS scroll-driven animations animation-timeline scroll-timeline view-timeline animation-range
用 CSS scroll-driven animations 把动画绑定到滚动位置或元素进入视口的进度,拆清 scroll timeline、view timeline、animation-range 的关系,并给出 prefers-reduced-motion 与 @supports 降级方案。119 收藏 -
用 Temporal.PlainDate 处理生日、账期和只关心日历日期的业务值,避开 Date 的时区偏移,覆盖 from、compare、until、toString 与旧浏览器降级边界。198 收藏 -
文章 · 前端 | 3天前 | 前端 · javascript · 安全开发 · Web Crypto · 浏览器 API · ArrayBuffer 前端加密 AES-GCM Web Crypto API crypto.subtle
用浏览器原生 Web Crypto API 完成 AES-GCM 密钥的导入、导出、加密和解密,重点核对 Base64 编码、CryptoKey 可提取性、每次加密唯一 IV 以及 ArrayBuffer 类型边界。129 收藏 -
移动端长列表使用虚拟滚动后,scrollIntoView 可能滚不到顶部。本文从用户症状、滚动时间线和可复现实验入手,解释布局测量与渲染窗口冲突的根因,并给出可验证的修复与回归检查。221 收藏 -
CSS 容器查询从尺寸条件扩展到 style() 条件后,迁移重点不只是替换语法,还要检查容器类型、继承来源、浏览器支持和响应式回归。251 收藏 -
用原生 Popover API 做一个可访问的无 JavaScript 弹出层,覆盖 popover、popovertarget、light dismiss、焦点行为与不支持浏览器的降级方案。235 收藏