-
flex-grow仅适用于单段填充+固定箭头的简单进度条;多步、箭头咬合或响应式场景下,其动态宽度与箭头所需的绝对像素偏移冲突,导致错位、断开或文字撑爆。
-
tsconfig.json必须同时启用allowJs和checkJs,否则JSDoc类型注释(如@type)在.js文件中不会被识别;strict:false用于渐进迁移,skipLibCheck:true加速构建。
-
用Map构建“字段名-验证器”映射引擎,核心是将各表单字段校验逻辑封装为可复用、动态注册/替换的函数,以字段名为键、验证函数为值存入Map,实现结构与规则解耦,适配配置化表单、多语言及动态策略场景。
-
z-index无效通常因未设position或被父级层叠上下文隔离;需先确保position非static,再检查祖先元素是否触发新层叠上下文(如opacity<1、transform非none等)。
-
text-shadow语法要求四值顺序为水平偏移、垂直偏移、模糊半径、颜色,错误顺序或缺值将失效;支持多层逗号分隔、none清除、0模糊实现描边;高亮需控制模糊与透明度;存在性能、对比度、深色模式适配及可访问性问题;复杂场景需DOM方案替代。
-
侧边导航折叠需JavaScript控制类名切换配合CSS过渡动画实现,推荐用transform:translateX()替代width缩放,并兼顾移动端事件、可访问性及焦点管理。
-
直接修改document.body.style.backgroundColor是最简方式,但需通过style对象而非body元素直接赋值;推荐用classList切换预设CSS类以避免内联样式污染和兼容问题。
-
根本原因是viewportmeta标签缺失或错误,导致移动端按虚拟视口渲染,媒体查询不触发;需添加<metaname="viewport"content="width=device-width,initial-scale=1.0">并避免固定宽度值。
-
直接触发BFC可解决非浮动元素被浮动元素遮挡问题:给被遮挡元素加overflow:hidden或display:flow-root,使其避开浮动区域;overflow:visible不触发BFC,且避免滥用overflow:hidden导致弹窗裁剪。
-
HTML无法实现任务依赖逻辑,必须用JavaScript控制状态同步;通过data-prereq标记依赖项,监听change等事件更新下游节点状态,并确保可访问性与用户提示。
-
grid-template-columns用于定义网格列的大小和分布,支持固定值、百分比、fr弹性单位、auto及minmax()等;通过fr可实现响应式布局,repeat()简化重复列定义,minmax()设定列宽范围,组合使用可高效构建复杂网格布局。
-
小屏单列堆叠、大屏左右对称需切换布局模型:小屏用flex-direction:column或grid-auto-flow:row,大屏用grid-template-columns:1fr1fr或双flex容器,配合grid-column/order或JS奇偶分配,并通过grid-auto-rows/min-height保障视觉平衡。
-
SharedArrayBuffer是JavaScript中支持多线程共享内存的ArrayBuffer,需配合Atomics实现原子操作以避免竞态;仅在跨域隔离(COOP+COEP)环境下可用,且必须通过postMessage传输并列入transferlist。
-
闭包通过封装资源获取、使用和清理逻辑实现可控的生命周期管理。它支持显式.destroy()与环境兜底双机制,约束引用范围防泄漏,并提供可组合的钩子链式注册以保障多资源有序初始化与销毁。
-
JavaScript前端无法直接生成PDF,但可用jsPDF(适合绘图/票据)、pdfmake(适合数据驱动排版)、html2pdf.js(HTML区块转PDF)或Puppeteer(服务端高保真)实现;需注意中文字体、内存限制及加密等高级功能须后端支持。