-
密码不可跨域明文传递,须用WebCryptoAPI的PBKDF2在前端加盐派生密钥(iterations≥100000、SHA-256、后端下发盐),导出十六进制凭证供后端校验,全程内存操作并立即清空原始密码。
-
<p>@warn和@error仅在Sass编译阶段生效,@warn输出警告但继续编译,@error则中断编译;应将废弃逻辑封装进带legacy-前缀的@function并返回map,配合PostCSS扫描模板,确保提示精准到文件行号。</p>
-
box-shadow导致手机CPU高负载,因其每次变化均触发全层重绘,需CPU逐像素计算阴影;同属高代价属性的还有border-radius、background-image、filter(blur/drop-shadow)、gradient;应优先用transform/opacity替代,但需注意overflow:hidden、旧版微信内核、fixed定位等失效场景;infinite动画叠加全屏图片会持续占用GPU资源致发热,应限制迭代次数、改用background-image、空闲时暂停动画并重置tr
-
最简弹窗用alert(),但仅限开发调试;生产环境应手写DOM弹窗,结合CSS动画与可配置函数封装,注意状态管理、无障碍支持及兼容性。
-
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()设定列宽范围,组合使用可高效构建复杂网格布局。