-
移动端点击态颜色“溢出”或“缩进”的本质是盒模型边界影响:active作用区域默认为border-box,padding会延展变色范围,margin仅造成视觉偏移;a标签需设display:block/inline-block才能使padding生效;touch-action与足够padding协同保障:active稳定触发。
-
HTML中无原生长按事件,需用touchstart/touchend+setTimeout模拟;移动端优先touchstart,PC端需防mousemove误触;pointerdown更统一但兼容性受限,且需兜底清理。
-
BEM中图标子元素应命名为btn__icon,位置通过btn--icon-left等Modifier控制;伪元素图标可保留btn__icon类名作语义标记,但推荐显式DOM元素以保障可维护性与无障碍支持。
-
box-shadow实现外发光需用rgba/hsla控制透明度并配合适当模糊值(如12px起),内发光须用伪元素模拟;叠加时注意层级与性能,兼容性上需规避IE及混合模式限制。
-
抽屉菜单优先用transform:translateX()而非left或margin-left,因其触发GPU加速、避免重排,动画更流畅;需配合transition、语义类名、媒体查询及正确DOM结构以解决iOS滚动锁定等实际问题。
-
[attr]选择器仅判断属性是否存在,不关心值内容;如button[disabled]匹配<buttondisabled>和<buttondisabled="">,但不匹配未声明该属性的元素。
-
防样式污染需用独立DOM容器、禁用自动注入、预编译CSS并动态注入、统一哈希逻辑、确保元素挂载后再调用getComputedStyle,手动管理样式表避免JSDOM限制。
-
JavaScript字符串处理需区分UTF-16编码单元与Unicode码点,ES6起提供codePointAt、fromCodePoint、扩展运算符及u标志正则等码点级API,确保正确遍历、截取和匹配。
-
流式SSR的核心难点在于保障hydration稳定、避免数据重复请求、确保错误边界有效。React18的renderToPipeableStream是唯一可靠方案,需搭配hydrateRoot、组件级数据预取、精准脚本注入与分层ErrorBoundary。
-
使用objectStore.add()插入新记录需确保数据库已打开、事务为readwrite模式、正确获取objectStore,并传入符合键路径(keyPath)、自增(autoIncrement)或显式键要求的数据;成功返回主键,冲突触发ConstraintError。
-
使用第三方插件或自建系统可为HTML5内容添加评论功能。Disqus、FacebookComments、Gitalk等插件集成简单,适合快速部署;自建系统结合前端表单与后端语言(如Node.js)及数据库,可提升数据控制权;静态网站推荐Disqus、Utterances或Staticman方案。优化体验需支持无刷新提交、防XSS、移动端适配和头像展示。选择方案应综合技术栈、维护成本与隐私需求,多数场景建议从Disqus或Utterances起步。
-
必须用strong而不是b当文字承载「不可省略的重要性」时,如表单错误提示、关键金额、法律风险文案等,因strong提供语义权重、读屏器强调、SEO识别及工具链解析能力,而b仅为纯视觉加粗且无语义。
-
JavaScript中var声明会提升并初始化为undefined,而let/const仅提升声明、不初始化,访问时触发TDZ报错;var是函数作用域,let/const是块级作用域,for循环中let每次迭代创建新绑定,避免闭包陷阱。
-
SVG路径动画可靠方案是stroke-dasharray与stroke-dashoffset组合,需先用getTotalLength()获取真实长度并设为相等初始值,再通过CSS动画将offset从长度值减至0实现绘制效果。
-
CSS过渡需作用于可插值属性,width或left动画失效常因混用auto值或display/visibility切换;应优先用transform:translateX()配合确定数值和will-change优化,避免重排与兼容性问题。