-
轮播图卡顿主因是用left/top触发重排,应改用transform/opacity走合成层;预加载下一张图、设固定宽高防跳动;暂停需监听容器mouseenter/touchstart;无缝切换用DOM复用+瞬移重置。
-
常见错误是未将图片设为块级元素并设置宽高,因shape-outside仅对浮动块盒生效;SVG需内联、坐标对齐、配shape-margin;Firefox不支持外链SVG且仅认content-box/border-box。
-
CSS元素宽度设置无效通常因盒模型、内边距、边框或外边距干扰,关键要区分width控制的是内容区还是整个盒子;默认content-box下width不包含padding和border,改用border-box可使width包含二者,同时需检查父容器限制、display类型及margin/padding视觉干扰。
-
JavaScript状态管理核心是让数据变化可预测、可追踪、可复用;轻量方案如手写发布-订阅、Zustand、Jotai、Valtio各具优势,关键在清晰划分状态边界。
-
once是addEventListener的布尔型配置项,设为true时监听器仅执行一次后自动移除;适用于初始化、防重复提交、动画回调等场景,不支持IE。
-
能,但需正确设置viewport元标签、合理选择rem/vw单位并按内容而非设备设断点。viewport须置于head最前且写全参数;rem宜JS动态设置,vw需防iOS键盘干扰;断点应基于容器宽度和内容布局需求,辅以容器查询与真机多场景验证。
-
必须用Math.sin和Math.cos,因为环形布局本质是极坐标转直角坐标,需通过角度和半径精确计算每个按钮的x、y像素位移,CSS无法动态执行三角函数,JS计算是唯一可靠路径。
-
Map比普通对象快在支持任意类型键且哈希表实现O(1)查找,而对象仅支持字符串/Symbol键,非字符串键易因toString()冲突;正确序列化多参数需用JSON.stringify或模板字符串;防缓存爆炸应加LRU限制与参数稳定性评估。
-
可通过JavaScript实现HTML页面中数值的实时相加并显示:一、oninput事件监听输入框动态计算;二、onclick按钮触发计算;三、formsubmit事件捕获并阻止刷新;四、封装addNumbers函数支持多值相加;五、cleanNumber函数清洗带单位或逗号的字符串数值。
-
WeakMap与Map的核心区别在于键类型和引用强度:WeakMap键只能是对象且为弱引用,支持自动GC清理;Map键可为任意类型且为强引用。WeakMap不可遍历、无size属性,仅提供set/get/has/delete方法,适用于私有状态存储等需避免内存泄漏的场景。
-
HTML和JavaScript无法访问SD卡,因浏览器沙箱禁止直接读写物理存储;可行方案仅限Electron/Tauri、树莓派HTTP服务或用户手动导入导出。
-
关闭Preflight需在tailwind.config.js中设置corePlugins.preflight:false,使Tailwind跳过生成@tailwindbase的CSS;prefix:'tw-'后所有utilityclass自动加前缀,不影响自定义类名;important:true并非万能解药,会引发调试困难与冲突;CSS加载顺序不可靠,推荐prefix+preflight:false+twMerge组合方案。
-
iframe跨域嵌入需对方服务端配合,否则浏览器静默拦截;必须校验origin并用postMessage通信,sandbox和allow属性须精确配置,fetch+innerHTML仅得静态快照。
-
Flash被移除是浏览器集体淘汰私有插件,非HTML5不支持;其替代方案包括video/audio标签、Canvas+JS、WebAssembly等。
-
使用Flexbox布局实现侧边栏与内容区并排,侧边栏固定宽度,内容区自适应;2.通过媒体查询在小屏幕下隐藏侧边栏,添加.collapsed类时以固定定位显示;3.结合JavaScript切换类控制显隐,配合按钮实现折叠交互,确保z-index和定位正确,完成响应式侧边栏系统。