-
因为.container的width始终为100%,但实际渲染宽度由断点媒体查询中的max-width决定;例如在≥1200px视口下,computedwidth显示1140px,正是@media(min-width:1200px){.container{max-width:1140px}}生效所致。
-
:has()不能选取父元素,仅能基于后代或兄弟是否匹配条件来筛选自身;它不反转匹配目标,仅实现条件渲染,如form:has(.error)为form自身设样式,而非其父级。
-
垃圾回收是现代编程语言自动管理内存的核心机制,通过引用计数、标记-清除、分代收集和复制算法等方式回收无用对象,避免内存泄漏;主流语言如Java采用分代GC结构并结合多种收集器提升效率;不当的GC配置可能导致频繁停顿、长时间暂停、内存溢出或高CPU占用;调优需合理设置堆大小、选择合适收集器、调整新生代比例、避免大对象过早进入老年代,并结合日志监控分析;编码层面应减少强引用滥用、控制缓存生命周期、降低临时对象创建,以减轻GC压力,保障应用性能稳定。
-
scrollbar伪元素不支持transition,因其不属于常规渲染树;应通过transform+requestAnimationFrame模拟缓动,或用scrollIntoView({behavior:'smooth'})等滚动API实现真正平滑效果。
-
不能直接用atob解WebSocket报文里的Base64——必须先清洗非法字符、再补等号至长度为4的倍数、校验格式,然后用atob转为Latin-1字符串,最后映射为Uint8Array才得真实二进制。
-
ServiceWorker的install和activate事件分别对应installing→installed和activating→activated状态阶段,install阶段缓存资源并需waitUntil确保完成,activate阶段清理旧缓存且不可在install中执行,状态流转受页面生命周期和skipWaiting()控制。
-
无法用纯HTML实现FedCM联合登录,因其必须由JavaScript在HTTPS安全上下文中调用navigator.credentials.get(),且需用户手势触发、正确配置providers及mediation等参数,并满足浏览器策略与服务端OIDC信任链要求。
-
本文整理一套前端 CORS 预检失败的排查流程,从浏览器请求头、OPTIONS 预检、服务端响应、网关转发到 Cookie 场景逐步定位,帮助接口联调更快闭环。
-
Number.isFinite严格校验数字类型且为有限值,不转换参数;全局isFinite先转数字再判断,存在隐式转换。前者安全明确,后者易引发意外结果。
-
不能直接用transition:height实现面板展开动画,因为height:auto无法参与过渡;应使用max-height过渡或JS动态设置精确高度。
-
font的face属性已被HTML5彻底废弃,现代浏览器忽略其样式解析,必须改用CSSfont-family控制字体;中文字体名需加引号,末尾须保留通用字体族,推荐使用<span>或类选择器替代<font>标签。
-
页面偶发点击无响应,先别急着把锅甩给网络。本文用 PerformanceObserver 记录 50ms 以上长任务,结合 Chrome Performance 面板定位 JSON.parse 和同步渲染造成的主线程阻塞,再用分片处理和 requestIdleCallback 做可验证的修复。
-
旧版Firefox(<60)浮动布局异常主因是严格遵循CSS2.1浮动边界与行框重排规范,而非私有属性缺失;需显式设display:block、box-sizing:border-box,注意vertical-align、sub-pixel误差及clear被stackingcontext或margin合并干扰。
-
使用Flexbox的gap属性替代margin可有效控制按钮组间距,避免首尾多余空白。通过设置display:flex和gap值,如8px,实现按钮间均匀间隔。结合justify-content属性(如flex-start、center、flex-end、space-between)可灵活对齐按钮组,同时保持间距一致。响应式设计中,可用媒体查询调整gap值,适配不同屏幕尺寸。该方法比传统margin更简洁易维护,推荐优先使用。
-
闭包是实现记忆化函数最自然、最轻量的方式,它通过外层函数创建私有缓存并返回可访问该缓存的新函数,使缓存持久、私有且隔离。