-
-webkit-text-fill-color是WebKit私有属性,Firefox等非WebKit浏览器直接忽略,不退回到color,必须显式声明color作为降级色;仅用于Chrome/Safari渐变文字镂空或input自动填充文本着色,无跨浏览器能力。
-
HTML无法直接识别版权状态,需用data-license等自定义属性标记,再通过CSS选择器或JS动态筛选;注意大小写统一、多值兼容及交互反馈。
-
Vue3中::v-deep已废弃,应使用:deep()伪类且仅在<stylescoped>内有效;需配合外层作用域选择器,针对第三方组件真实类名使用,避免嵌套或多层穿透。
-
应优先使用单选按钮(radio)配合相同name属性,因其语义正确、原生互斥且无需脚本;其次可选下拉菜单、复选框+JS、按钮组+hiddeninput或fieldset分组等方案。
-
Error.cause无法用于全链路异常监控,因其仅在单个JS运行时内有效,跨服务时因JSON不序列化cause、旧环境不支持及协议缺失而必然断裂;须改用结构化错误字段+traceparent透传实现根因定位。
-
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与键盘测试保障可访问性。