-
HTML页面内存占用主要由资源加载、JavaScript运行、DOM节点和渲染行为决定;全局变量和window对象易致泄漏,因未清理的引用会阻止垃圾回收;应使用WeakMap/WeakRef、显式清理定时器与监听器、避免闭包捕获大对象;innerHTML批量插入比document.createElement+DocumentFragment内存开销更大;ChromeDevTools需用堆快照和分配采样定位问题,而非仅看任务管理器内存数值。
-
SVG缩放失真的根本原因是viewBox宽高比与容器width/height宽高比不一致,导致浏览器强行拉伸坐标系。viewBox定义内部坐标范围,实际尺寸由width/height决定,二者比例必须匹配,否则变形;preserveAspectRatio控制对齐与裁剪方式,不可忽略。
-
iOSSafari中vh跳变是因地址栏收起/展开改变window.innerHeight,导致vh值突变;应优先用calc(env(height)-env(top)-env(bottom))并fallback至100vh,或JS监听resize动态设置--vh变量,dvh暂不可单独依赖。
-
父元素高度塌陷是因浮动元素脱离文档流,解决方法是触发BFC(如overflow:hidden)或清除浮动(如::after+clear:both),现代布局推荐直接使用flex/grid。
-
在HTML表单中为重置按钮添加确认提示,可以通过结合HTML和JavaScript实现。1)使用onclick事件和confirm函数直接在重置按钮上添加确认提示;2)将JavaScript逻辑从HTML中分离,提高代码可维护性;3)使用自定义模态框替代标准confirm对话框,增强用户体验;4)添加ARIA属性,确保无障碍访问。
-
直接用PerformanceObserver监听"first-input"是唯一准确获取真实FID的方式;FID(entry.duration)量化主线程卡顿程度,即用户操作到浏览器开始处理间的阻塞时长。
-
lang属性必须写在<html>标签上,如<htmllang="zh-CN">,写在其他标签无效;多语言内容需用lang单独标注子元素;动态页面须在SSR或HTML源头设置,不可JS后期修改。
-
应使用transform+opacity切换表单,因其不触发重排、支持硬件加速、动画平滑;display:none使transition失效,visibility:hidden无法配合位移动画。
-
grid-column-gap仅控制列间间距,不处理容器左右外边距;需配合padding实现视觉等距,推荐用gap+padding+auto-fit响应式布局。
-
css-vars-ponyfill是IE下支持CSS自定义属性的最可行方案,它在运行时解析并替换var(),支持嵌套、calc()内使用、动态更新及媒体查询作用域,但需注意IE对calc()+var()的兼容限制和动态更新时需显式触发重计算。
-
JavaScript创建自定义事件需用CustomEvent构造函数创建事件对象并调用dispatchEvent触发,监听时通过e.detail获取数据;事件传播分捕获(window→目标父级)、目标、冒泡(目标→window)三阶段,可用stopPropagation()等控制传播。
-
用L.marker([纬度,经度]).bindPopup()绑定HTML内容即可实现点击显示带位置信息的弹窗;需注意坐标顺序、容器高度设置、逆地理编码调用及移动端click事件启用等关键细节。
-
WebUSB不能通过USB-C取电,供电稳定性取决于硬件链路;设备闪退多因非标线缆、主机端口供电不足或设备功耗突增;Electron/Tauri虽可绕过沙箱读取供电状态,但无法提升物理供电能力。
-
答案是通过合理使用组合选择器和命名规范来控制CSS优先级。应避免依赖高权重选择器如ID或!important,转而采用类组合与BEM等命名约定,提升样式的可维护性;通过父级类名限定作用范围,减少全局污染;团队中统一规范并借助工具检测,能有效降低优先级冲突,使CSS结构更清晰稳定。
-
最可靠方法是用oninput事件配合正则实时过滤非数字字符并每4位加空格:先replace(/\D/g,'')清除非数字,再match(/.{4}/g)切分,最后join('');需用setSelectionRange修复光标跳变问题。