-
HTML轮播不影响视频自动播放,关键在浏览器策略:需muted+autoplay+用户交互,iOS须手动play(),动态加载需挂载后调用,切换时应pause上一个。
-
CDN选型应优先确保源站Cache-Control可自定义,否则CDN无法缓存;静态资源需显式设置public/max-age/immutable;URL哈希优于查询参数;需验证边缘节点实际覆盖;HTTP/2推送已废弃,改用preload或preconnect。
-
现代Web开发倾向于使用ESM而非传统脚本,原因包括:1.作用域隔离,避免全局变量污染;2.明确的依赖管理,自动解析模块顺序;3.默认异步加载,提升页面性能;4.支持严格模式和CORS;5.支持TreeShaking优化代码体积。
-
应使用transform+opacity切换表单,因其不触发重排、支持硬件加速、动画平滑;display:none使transition失效,visibility:hidden无法配合位移动画。
-
用单个隐藏<audio>实例配合JS动态切换src实现轻量音乐列表,列表项绑定data-src属性,点击时暂停当前、更新源并播放,注意iOS用户手势触发、Promise错误捕获及跨域配置。
-
响应式标题换行问题需用CSS精准控制:优先用word-break:keep-all保词不断、clamp()限字号范围、min()控宽度,并通过font-display:swap和text-wrap:balance优化字体加载与断行一致性。
-
gap属性仅对display:grid或flex容器生效,若父元素为inline-grid或子项被float/absolute干扰则失效;它不替代margin,且IE等旧浏览器需用grid-gap兜底。
-
z-index失效主因是元素未定位或父级创建层叠上下文;需显式设置position(非static)并检查祖先节点是否触发stackingcontext(如transform、opacity<1等)。
-
IndexedDB中cursor是指向当前记录的异步指针,非可迭代对象,故不能用for...of遍历;必须在onsuccess回调中通过continue()或advance()推进,并检查cursor是否为null来终止遍历。
-
本文详解如何在ESLint单配或多层继承场景中,对已继承的规则(如import/order)进行增量式覆盖,避免全量重写,提升配置可维护性与复用性。
-
本文详解如何基于CanvasAPI,利用对象数组高效创建、更新和渲染多个粒子(圆形形状),并内置物理属性(速度、加速度、摩擦力、生命周期)以支持真实碰撞模拟,彻底告别重复手写绘图代码。
-
sticky定位失效主因是父容器overflow非visible或未设top值,需确保最近可滚动祖先无overflow:hidden/auto/scroll且显式声明top,同时避免transform等创建新层叠上下文的属性。
-
浮动页脚塌陷需清除浮动或触发BFC:用overflow:hidden、clear:both空div或伪元素::after;左右栏不设固定宽,分别float:left/right并预留margin;IE6/7加display:inline修复双倍margin;移动端需检查viewport、min-width和white-space。
-
高效HTML元素定位需结合五种方法:一、用开发者工具审查元素;二、控制台执行DOM查询命令;三、CSS选择器层级精确定位;四、XPath跨结构定位;五、安装SelectorGadget等扩展增强能力。
-
用:checked伪类替代:hover可实现移动端可控的点击展开/收起菜单,需将checkbox与菜单置于共同父容器内、菜单设position:absolute且父容器设position:relative,配合max-height过渡动画,并完善可访问性。