-
HTML原生popover的auto模式不自动关闭,需手动实现外部点击关闭:在document监听click,用closest()判断点击是否在popover或触发元素内,否则调用hidePopover()。
-
数据大屏粒子背景需绑定容器尺寸、禁用滚动与鼠标交互、适配高分屏且透明不遮挡;canvas宽高须基于容器rect和devicePixelRatio动态设置,tsparticles须关闭autoSize和fullScreen并禁用hover/click。
-
HTML密码框的安全性取决于浏览器和系统原生机制,而非JS拦截;禁用粘贴或右键会破坏密码管理器和无障碍支持,autocomplete与autocapitalize等属性必须正确设置以确保自动填充、密码生成及软键盘适配。
-
响应式布局中外边距塌陷并非CSS错误,而是块级流在断点切换时暴露规范行为:flex切block后子元素margin垂直合并,gap未重置或margin残留会加剧问题;推荐用display:flow-root创建BFC或统一用gap/padding控制间距。
-
overflow-y:auto在Flex容器中失效,根本原因是父容器无明确高度约束导致无法触发溢出;必须设置height/max-height,并为滚动区域添加min-height:0及-webkit-overflow-scrolling:touch(iOS兼容)。
-
纯CSS无法生成真正随机色,必须用JS计算HSL值并写入CSS变量,再通过hsl(var(--h),var(--s)%,var(--l)%)动态应用;需预设fallback、控制取值范围、添加transition且作用于目标元素。
-
str-insert不能直接插入CSS属性值,因其返回带引号字符串,需配合unquote()才能生成合法CSStoken;且索引从1开始,越界会静默失败。
-
JavaScript的rest参数是捕获函数多余实参的语法糖,必须位于形参末尾且唯一,生成真数组;与arguments不同,它原生支持数组方法、适用于箭头函数,且仅在函数参数、数组/对象解构中合法。
-
WebSocket仅负责传输WebRTC所需的信令数据(offer/answer/icecandidate),无法直接传输音视频流,因其基于TCP导致队头阻塞、无丢包恢复机制、缺乏NAT穿透能力且浏览器不支持MediaStream直接序列化。
-
优化多重复数断言正则的关键是控制回溯范围与深度:用否定字符类限定断言内匹配、外提逻辑预筛、原子组切断回溯路径、合并或拆分断言、锚定加长度前置剪枝。
-
backdrop-filter在Bootstrap导航栏中默认不生效,因navbar有不透明背景导致背后无可模糊内容;需设半透背景(如rgba)、确保父容器有实际背景、避免overflow:hidden,并为Firefox等加降级方案。
-
Array.prototype.reverse()仅原地翻转数组,是否实现“由近及远”取决于入栈顺序;若历史按时间正序推入则需reverse(),若已按倒序push则不应再调用;推荐用unshift()从源头维护新项在前,或用timestamp排序更可靠。
-
WebSocket连接超时时间不可运行时修改,DCDN平台该配置为静态项,仅控制台提交生效;Vite代理rewrite需用函数精确处理路径;Nginx须设proxy_http_version1.1并透传Upgrade头;SpringBoot注解端点路径不支持热重载。
-
最轻量方案是用CSSfilter:grayscale(100%)配合JS切换class,兼容Chrome18+/Firefox35+/Safari6+;需避免漏写括号、IE强行兼容;hover动画需同时定义初始和hover状态的filter并加transition。
-
OKLCH用感知均匀的OKLab空间替代HSL,其L值真实对应人眼明暗响应,而HSL的L仅是RGB极值平均、视觉亮度不一致;oklch()中L必须为0–1或0%–100%,单位不可省略,且与HSL数值不可直接换算。