-
border-radius对浮动图片完全生效,但需注意父容器overflow设置、图片显式宽高及object-fit行为,否则易因裁剪或渲染时机导致圆角“失效”。
-
物理引擎如Matter.js可高效实现游戏中的真实互动,简化重力、碰撞等处理;以Matter.js为例,几行代码即可创建受重力影响的小球与静态地面的交互,自动完成物理模拟。即使使用引擎,掌握基础碰撞检测算法仍至关重要:矩形间采用AABB法判断x、y轴重叠,圆形间通过圆心距离与半径和比较,圆形与矩形则找矩形上最近点再计算距离。为提升性能,应采用空间分区(如四叉树)、分阶段检测(先粗后精)等优化策略,并根据项目需求合理选择方案——轻量级项目可手动实现,复杂游戏宜用Box2D.js或Planck.js等强大引擎
-
CSS变量在calc()中必须用var()包裹且带单位,否则因语法错误被静默丢弃;预处理器变量需插值;小程序中calc()易被截断,需转义并避免跨单位混用;空格是calc()语法必需。
-
函数声明会被提升,函数表达式不会;前者可在声明前调用,后者则报错;块级函数声明在严格模式下仅限块内有效,建议统一用函数表达式确保兼容性。
-
平滑的背景色动画必须用transition而非@keyframes,需明确声明background-color、使用hsl()或rgb()值、指定cubic-bezier时序,并避免background简写和background-image干扰。
-
prefers-color-scheme是CSS媒体特性,通过@media(prefers-color-scheme:dark)等声明式查询响应系统深色/浅色偏好,需配合CSS自定义属性实现语义化主题切换,不支持手动覆盖,仅作默认兜底。
-
PDF导出颜色失真是因浏览器默认“降色”所致,需在@mediaprint中添加-webkit-print-color-adjust:exact、color-adjust:exact、print-color-adjust:exact三行CSS强制绕过;同时确保元素有宽高、Puppeteer启用printBackground:true等工具链适配。
-
Grid通过justify-content和align-content可精准控制多行对齐,关键需设置display:grid与grid-template-columns;justify-content:start使各行左对齐,align-content:start使多行顶部对齐;禁用grid-auto-rows并避免跨列导致列数不整除,方保最后一行“不塌”。
-
Canvas实现手势密码需手动处理坐标映射、点选判定等,因浏览器无原生组件;touchmove易漏点是因采样不均,手指滑过两点间若未落入任一点半径R内,则无法触发选中,须用欧氏距离遍历判定点。
-
HTML5原生不支持RTSP,需服务端转协议(如WebRTC/HLS);弹幕仅WebRTC+时间戳同步+DOM渲染可行,误差容忍±300ms,其他方案均为demo级妥协。
-
原始值包装对象是为原始值临时装箱的伪对象,仅在方法调用时隐式创建并立即销毁;普通对象是独立引用类型,具持久身份、可扩展性与完整对象语义。
-
<noframes>标签在HTML5中已被完全移除,仅存在于HTML4.01FramesetDTD中,用于为不支持框架的旧浏览器提供降级内容;现代开发应使用语义化布局、<noscript>、SSR及响应式设计替代。
-
JavaScript性能监控核心是PerformanceAPI,优先用PerformanceObserver捕获FCP、LCP、CLS等WebVitals指标,辅以performance.mark/measure自定义打点,通过sendBeacon上报并采样。
-
JavaScript模块化主要靠ES6模块(ESM)和CommonJS(CJS):ESM静态编译时解析、import/export语法、只读绑定、默认严格模式;CJS动态运行时加载、require/module.exports、对象引用、支持动态路径;二者加载时机、循环依赖处理及Node互操作方式不同,需注意兼容性与转换。
-
localStorage需手动序列化/反序列化对象,用JSON.stringify()存、JSON.parse()取并捕获SyntaxError;sessionStorage仅当前标签页有效,关闭即销毁;二者均不参与HTTP请求,localStorage同源共享且持久,sessionStorage隔离且临时。