前端
已收录文章:35篇
-
当 hover 位移、入场缩放和循环旋转同时写进一个元素时,animation-composition 可以明确 transform 的叠加方式。本文用 add、accumulate 和 replace 拆开关键帧冲突,并给出兼容降级与验收方法。210 收藏
-
用户连续点击提交按钮,常见结果是重复请求、重复订单或失败后无法恢复。本文从 HTML formdata 事件切入,拆开提交锁、请求取消、失败恢复和键盘回车的边界,给出可核对的前端实现。190 收藏
-
SSE 返回的 UTF-8 字节可能把一个汉字拆在两个网络 chunk 中,逐块直接 TextDecoder.decode 容易出现替换字符。本文用浏览器 TextDecoderStream 处理 SSE 文本流,说明 pipeThrough、行缓冲、事件结束标记和兼容边界。186 收藏
-
文章 · 前端 | 1个月前 | 前端 · 浏览器 · javascript · css · 交互体验 · CSS过渡 dialog popover CSS @starting-style 首次显示动画元素第一次进入页面或从 display:none 变为可见时,普通 transition 没有起始帧,popover 和 dialog 尤其容易出现硬切。CSS @starting-style 可以补上首次显示状态,但仍要处理 overlay、关闭动画、浏览器降级和 prefers-reduced-motion。171 收藏
-
文章 · 前端 | 1个月前 | html · 前端 · javascript · css · 表单校验 Web Components ElementInternals form-associated custom elements setValidity把日期选择器、验证码框等自定义元素接入原生 form,不必再在提交事件里重复拼装校验。本文用 ElementInternals、setFormValue 和 setValidity 做一个可提交、可校验的 custom element,并说明浏览器能力不足时如何降级。134 收藏
-
商品卡片内容长短不一时,底部价格和按钮容易上下漂移。本文从实际错位现象入手,用 CSS Grid 的 subgrid 统一行轨道,并给出不支持 subgrid 浏览器的稳定降级写法。130 收藏
-
文章 · 前端 | 1个月前 | 前端 · javascript · 前端动画 document.startViewTransition View Transitions API startViewTransition SPA页面切换单页应用切换列表与详情时,可以用 document.startViewTransition 包住 DOM 更新,让浏览器接管新旧视图的过渡;同时保留 prefers-reduced-motion 和 API 能力检测,确保不支持时仍能正常切换。128 收藏
-
原生 HTML dialog 关闭后,焦点恢复、Esc 取消和按钮结果经常被混在一起。本文用一个可复现的确认框拆开 showModal、returnValue、cancel/close 事件和焦点恢复的边界。128 收藏
-
前端上传几百 MB 文件时,真正容易卡住的不是单个请求,而是分片队列、并发窗口和失败重试互相放大。本文用浏览器 File.slice、Promise 队列和服务端分片状态,拆解从一次性上传改成可暂停、可续传方案时的架构取舍。127 收藏
-
网页里同时存在 dialog、抽屉和自定义浮层时,可用 CloseWatcher 统一接收 ESC 或系统返回关闭请求,再把焦点恢复、脏数据确认和旧浏览器回退放进同一条关闭链路。126 收藏
-
HTML inert 是一个全局布尔属性,可以让元素及其后代暂时不能获得焦点、点击或进入辅助技术的可访问性树。本文用一个可关闭弹窗说明如何切换 inert、保留弹窗内焦点、处理 Escape 和旧浏览器降级,并列出容易把 aria-hidden、pointer-events 与 inert 混用的边界。103 收藏