-
CSS动画结束后不会自动重置,需强制重排再重设animation属性才能重播:先设animation为none,再读offsetHeight触发重排,最后恢复animation值。
-
用::after伪元素实现顺滑CSS转圈动画需设content:""、border-radius:50%+border画圆、transform:rotate(360deg)配合@keyframes、timing-function用linear、加will-change:transform优化性能,并用currentColor适配深色模式。
-
浏览器不显示“添加到主屏幕”横幅,是因为未同时满足HTTPS、有效manifest(含short_name及≥192×192图标)、已注册ServiceWorker、用户停留≥30秒并有交互;iOS则完全不支持自动提示,仅支持手动“分享→添加到主屏幕”。
-
Emit不实现文件上传进度条,真正依赖的是前端XMLHttpRequest的upload.onprogress事件监听上传进度,后端只需常规接收IFormFile即可。
-
requestAnimationFrame+WebAnimationsAPI更卡是因为误用触发重排或未满足GPU加速条件;正确做法是仅动画transform/opacity、用will-change/translate3d主动提示合成、复用Animation而非频繁新建。
-
用<divrole="alert">实现语义化顶部警告横幅,配合position:fixed;top:0;width:100%;z-index:1000;和display:flex;align-items:center;布局,关闭时应调用element.remove()并处理焦点与可访问性。
-
异步生成器通过按需拉取机制解决背压问题,消费者主导数据流速度,避免内存溢出;相比传统事件驱动的“推”模式易导致数据堆积,异步生成器以yield暂停执行,forawait...of循环实现隐式背压,天然防止生产者过载,提升系统稳定性。
-
float元素文字不环绕而换行,主因是后续块级容器未清除浮动或未触发BFC,导致无视浮动剩余空间;父容器塌陷也会造成视觉错位;文字需处于同一块级容器内的内联上下文中才可环绕。
-
Smi不是堆对象,无内存布局,直接编码在指针低位;HeapNumber是堆分配对象,含map指针和value字段,偏移8字节。二者仅通过指针LSB区分类型:0为Smi,1为堆对象。
-
浏览器和Node.js事件循环的核心区别在于运行环境与职责不同:浏览器侧重UI渲染与用户交互,Node.js专注高性能I/O。浏览器事件循环按“宏任务→微任务→渲染”流程执行,确保界面流畅;Node.js事件循环由libuv实现,分为多个阶段(如timers、poll、check等),每个阶段处理特定任务,以优化服务器端并发处理。在任务优先级上,Node.js中process.nextTick优先于Promise微任务执行,体现更细粒度的控制;浏览器中requestAnimationFrame与渲染同步,
-
<bgsound>标签已彻底失效,现代浏览器完全忽略它;它从未进入W3C标准,仅IE私有支持,HTML5中必须用<audio>替代并遵循自动播放策略。
-
CSS变量可动态控制background-position,需在:root或选择器内声明带单位的变量,用var()调用并配合calc()计算,多背景图时须一一对应变量,注意兼容性与生命周期管理。
-
应先验证前缀存在性,再分离并截取正文,最后拼接;中文/emoji需注意UTF-16码元长度与显示宽度差异,后台用length,前端展示可选Intl.Segmenter或Array.from。
-
响应式分片上传进度分为四层:本地分片索引层、当前分片流层、服务端确认层、合并状态层;交互反馈需真实、防抖、低延迟,通过非线性映射、中断恢复可视化、多文件队列联动及轻量级轮询同步实现一致性体验。
-
优先选iframe嵌入第三方地图,因其开箱即用、兼容性好、无需密钥和JS初始化;需从官方“嵌入地图”页签获取代码,注意src格式、响应式写法及国内GFW下的fallback方案。