-
opacity渐入渐出不触发,因display:none禁用动画;须用opacity+visibility控制,配合animationend事件清理状态并避免重复触发。
-
requestIdleCallback在浏览器明确判定主线程空闲(如帧结束、无高优任务)时触发,优先级低于rAF,空闲时间默认上限50ms,需支持中断恢复、避免同步阻塞与强制布局,任务粒度要细以适配动态空闲时间。
-
Provide/Inject是Vue中用于跨层级通信的机制,祖先组件通过provide提供数据(推荐Symbol作key),后代组件通过inject获取,支持响应式数据和函数,适用于主题、权限等全局状态,但不适用于兄弟通信或细粒度状态。
-
flex-grow设为0和1不能直接撑满右侧,因flex-grow仅作用于剩余空间,左侧若未设flex-shrink:0或用固定宽,仍会被压缩;右侧需配合左侧不抢空间才能生效。
-
JavaScript垃圾回收机制的核心是“标记-清除”算法,引擎从根对象(如全局对象、调用栈)出发,标记所有可达对象,未被标记的不可达数组在清除阶段被回收;2.数组能否被回收取决于是否存在强引用,当所有引用被解除(如赋值为null、超出作用域、从父结构移除)时,数组变为不可达,即可被回收;3.常见内存泄漏原因包括闭包捕获大数组且闭包长期存在、全局变量持有数组引用、未移除的DOM事件监听器间接引用数组、缓存无淘汰策略;4.避免泄漏的最佳实践是及时将不再使用的数组引用设为null、限制变量作用域、组件销毁时清
-
aside是语义标签,非视觉侧边栏;仅适用于与主内容有逻辑附属关系的补充信息,如术语解释、作者简介等,必须配合CSS(如flex/grid)实现布局,删除后主内容须仍完整自洽。
-
font-display:swap是必须配置的底线措施,它强制用备用字体立即渲染再替换自定义字体,避免FOIT/FOFT闪烁;须写在@font-face中,配合document.fonts.ready确保字体真正可用,并选用度量值相近的fallback字体。
-
本文详解ReactRouterv6中PrivateRoute和PublicRoute自定义守卫的常见错误——误用component属性而非children,并提供可直接复用的修复方案、使用示例及关键注意事项。
-
HTML5表单submit事件未触发的主因是浏览器未识别点击为提交操作:button未设type="submit"、input类型非submit/image、preventDefault后未补救、约束验证失败、pattern格式错误、autocomplete干扰或DOM状态异常。
-
统一表单控件样式需重置appearance、显式定义边框背景内边距,自绘select箭头,用CSS变量暴露主题色等可覆盖属性,配合:focus-visible与键盘测试保障可访问性。
-
原型链的本质是对象的proto指向其构造函数的prototype;它基于[[Prototype]]内部属性实现动态属性查找,以Object.create()构建更安全,class只是语法糖,核心仍是原型继承。
-
用<canvas>模拟终端最轻量可控,DOM方案因光标定位、输入法兼容、滚动不一致及重排卡顿等问题易翻车;Canvas核心是清屏、逐行绘制、光标更新三步,需严格帧同步。
-
::after清除浮动失效的根本原因是伪元素默认display:inline,无法触发BFC且不撑高父容器;必须同时满足content非none(如"")和display为block/table/flex等块级显示值。
-
使用position:sticky可实现导航按钮滚动时始终可见。1.基本语法:设置position:sticky和top值,使元素在距视口顶部指定距离时固定;2.调整top值可控制吸附位置,如top:10px避开头部内容;3.确保父容器未设置overflow:hidden、scroll或auto,避免sticky失效;4.实际应用中,为nav添加sticky、背景、阴影等样式,可提升用户体验。关键点:启用sticky定位、合理设置top偏移、避免父级overflow限制。
-
::selection伪元素不继承父元素颜色,必须显式设置color和background-color;仅支持有限样式,需加浏览器前缀,对input/textarea无效,且无法用z-index调整层级。