-
根本原因是video自身宽高比约束父容器尺寸,object-fit:cover仅控制内容裁剪而不改变容器布局;必须用position:fixed使父容器强制铺满视口,并重置bodymargin、设video为block且加-webkit前缀兼容旧版Safari。
-
答案:通过Edge浏览器F12开发者工具可快速定位元素并实时调整HTML与CSS。依次启用工具、选择元素、编辑样式、增删节点,并复制修改结果至源文件,实现高效网页调试与优化。
-
柯里化是将多参数函数转换为一系列单参数函数的过程,通过闭包保存已传参数,待参数满足时执行原函数;支持部分调用、占位符及显式触发,提升函数组合与复用能力。
-
使用max-width结合padding和box-sizing可有效控制布局宽度与灵活性,.container设置max-width限制最大宽度,配合padding确保内边距舒适性,box-sizing:border-box防止尺寸溢出,实现响应式自适应布局。
-
闭包是热更新中维持状态的关键载体,需通过debug.upvaluejoin保留Upvalue、沙盒隔离加载、钩子注入策略、静态检查与运行时控制四层机制保障安全热更。
-
transition和@keyframes不能混用同一属性,否则会导致卡顿、跳变或keyframes不触发;二者机制独立,animation优先级更高但易冲突;应按职责分离:transition处理简单交互反馈,@keyframes处理多阶段复杂动画,并避免动态修改被占用的属性。
-
header必须为body或语义容器的直接子元素,main只能出现一次且为body直系子元素,footer表示结尾信息不可滥用;三者嵌套错误会破坏可访问性、SEO及HTML5大纲。
-
现代Web开发倾向于使用ESM而非传统脚本,原因包括:1.作用域隔离,避免全局变量污染;2.明确的依赖管理,自动解析模块顺序;3.默认异步加载,提升页面性能;4.支持严格模式和CORS;5.支持TreeShaking优化代码体积。
-
用IntersectionObserver实现无限滚动的核心是观察占位元素是否进入视口,而非监听window.onscroll;需设rootMargin提前触发、每次加载后重新observe、校验响应结构、防重复请求与XSS、降级处理兼容性问题。
-
CommonJS采用同步加载和值拷贝,模块导出的是静态值;ES模块支持异步加载和动态引用,导出绑定保持实时更新,两者在加载机制、缓存策略及变量绑定上存在本质差异。
-
可通过loop属性、ended事件监听、setAttribute动态控制或muted+autoplay组合实现HTML5音视频自动循环;loop最简捷,ended事件更可控,动态切换适合交互场景,静音autoplayloop则保障自动播放兼容性。
-
Flex容器默认按主轴方向排列子元素,由flex-direction决定,默认row;2.justify-content、align-items和gap控制间距,可实现居中等布局;3.position:relative不脱离Flex流,可通过偏移调整位置,保留原有空间;4.position:absolute使元素脱离布局流,不参与排列,相对定位祖先定位,不影响其他项;5.微调用margin或transform,覆盖需求用absolute并确保父级定位。
-
最简刷新方式是调用window.location.reload(),需带window.前缀;加确认弹窗须用if(confirm())控制;默认会丢失滚动位置和表单输入,SPA中应优先使用路由刷新而非硬刷新。
-
Vue的watch可监听unreadCount变化并触发favicon角标更新和桌面通知,需结合canvas绘制、NotificationAPI及WebSocket/SSE确保状态同步。
-
直接写.btn--disabled更可靠,因框架不总在DOM写disabled属性,BEM修饰符显式可控、SSR友好、语义清晰、命名与状态一致、支持组合、避免嵌套和耦合、适配现代工具链且防构建误删。