-
卡片悬停反转卡住需开启3D上下文:父容器设perspective,卡片设transform-style:preserve-3d;避免translateZ引发模糊,优先用rotateY+backface-visibility;transition须写在默认样式中;IE/Safari旧版应降级为opacity切换。
-
scroll-behavior:smooth必须写在html元素上,因CSS规范限定其仅对根滚动容器生效;body滚动实为html滚动,加在body或其他元素无效,且不可被后代选择器或!important覆盖。
-
iframe中直接append父页面link会报“insertBefore”错误,因DOM节点不能跨document复用;必须用cloneNode(true)深克隆或手动创建新link并插入iframe的head中,且仅限同源场景。
-
推荐使用SheetJS库导出:通过CDN引入xlsx.min.js,调用table_to_sheet转换表格为工作表,book_new创建工作簿,book_append_sheet添加工作表,writeFile触发下载。
-
Less变量不支持块级作用域。其作用域为就近向上查找的词法作用域,仅分全局与局部,局部变量会完全覆盖同名全局变量,而非遮蔽;定义在规则块内的变量从定义处起影响该块及所有子嵌套块,且不会自动恢复父级值。
-
用:checked伪类替代:hover可实现移动端可控的点击展开/收起菜单,需将checkbox与菜单置于共同父容器内、菜单设position:absolute且父容器设position:relative,配合max-height过渡动画,并完善可访问性。
-
HTML5shiv是一个JavaScript库,用于在IE8及更早版本中支持HTML5语义标签;它通过动态创建元素并添加CSS规则,使旧版IE能识别、渲染<section>、<article>等标签,并确保DOM操作有效。
-
Proxy是用于拦截并自定义对象基本操作的构造器,通过handler(含get、set、has、ownKeys等trap)与target构建代理层,实现响应式、校验、日志等高级功能。
-
本文详解ReactRouterv6中PrivateRoute和PublicRoute自定义守卫的常见错误——误用component属性而非children,并提供可直接复用的修复方案、使用示例及关键注意事项。
-
fetch需await或.then处理Promise,HTTP错误需手动检查response.ok,JSON数据须调用response.json()并await,POST请求必须设置Content-Type并字符串化body。
-
涟漪效果的核心原理是用JS获取点击坐标并动态设置CSS变量,使::after伪元素圆心精准落在点击处,再通过transform:scale()动画实现扩散。纯CSS无法读取坐标,故必须结合JS计算偏移量、监听click事件、设置--x/--y变量,并配合relative定位、border-radius:50%及cubic-bezier过渡。
-
JavaScript需异步编程,根本原因是单线程运行环境必须保持主线程响应,避免I/O阻塞导致页面冻结;引擎将耗时操作交由宿主环境后台执行,通过事件循环与微任务调度回调,await仅暂停async函数但不阻塞主线程。
-
filter支持CSS过渡动画,但必须显式声明transition:filter0.3sease;若仅写transition:all或未定义初始filter值,动画将失效,且多滤镜叠加顺序影响渲染结果。
-
HTML仅是容器,真正实现消息推送需JavaScript的NotificationAPI(仅前端通知显示)和WebPush(需ServiceWorker+PushManager+后端支持)。
-
let和const因TDZ与块级作用域禁止重复声明,var则函数提升且无块作用域导致变量泄漏;TDZ使未初始化前访问报ReferenceError,函数参数默认值中引用自身也受此限。