-
ServiceWorker是运行在浏览器后台的事件驱动型脚本,用于拦截请求、管理缓存、实现离线应用;需HTTPS注册,经历install→wait→activate生命周期,配合CacheAPI和fetch事件实现缓存策略与版本更新。
-
调用setCustomValidity('错误信息')后必须配合reportValidity()或表单submit才触发原生红色气泡提示;传空字符串可清除错误;需结合:invalid:user-invalid控制样式,且确保用户已交互。
-
用object-fit:cover可强制图片等比缩放并填满容器,多余部分裁剪;需配合明确宽高和overflow:hidden,IE不支持。
-
使用HTML5的video标签可实现网页视频播放,支持controls控制、多格式兼容(MP4/WebM/Ogg)、autoplay静音自动播放、loop循环及JavaScript动态控制播放状态,推荐preload="metadata"优化加载,避免移动端自动播放大文件以提升体验。
-
JavaScript变量提升指var声明和function声明在解析阶段被提前注册到作用域,但仅声明提升、赋值不提升;var变量初始化为undefined,故访问未赋值变量得undefined而非报错,而let/const存在TDZ,访问即报错。
-
使用CSSanimation与transform:scale()可实现图片平滑缩放。1.HTML中添加图片元素并设置类名;2.用@keyframes定义关键帧动画,如从0.8倍放大至1.2倍再恢复;3.将animation绑定到图片类,设时长3s、无限循环及ease-in-out曲线;4.可选:hover触发交互式缩放,提升用户体验。
-
动态路由实现导航栏的核心是后端返回结构化菜单→前端转换为路由配置→注入路由系统并渲染菜单,需保证语义一致、权限联动、懒加载可控。
-
频繁读写DOM几何属性会触发多余回流,应批量读写分离、用transform替代高代价CSS属性、合理使用contain隔离布局影响。
-
答案:CSS中link标签的media属性可按设备类型和视口条件加载不同样式表。1.通过screen、print等值为打印机、屏幕等设备加载特定样式;2.支持媒体查询语法,根据宽度、分辨率等适配响应式布局;3.利用惰性加载提升性能,非关键样式不阻塞渲染;4.使用and、or等逻辑符组合条件实现精准控制。合理使用可优化体验与性能。
-
Edge浏览器预装于Win1020H2+及全部Win11系统,无需专门安装HTML开发环境;启用DevTools(F12)、验证版本≥116、配置VSCode的pwa-msedge调试器即可满足前端开发需求。
-
清除浮动需用clear属性、BFC触发或伪元素等方法,推荐使用clearfix伪元素结合BFC;现代布局应优先采用flex或grid替代float以避免塌陷问题。同时,减少重绘与回流的关键在于避免频繁样式修改、使用transform动画、降低DOM嵌套深度,并将动态元素提升为合成层。合理运用CSS优化技巧和DevTools性能监控,可显著提升页面渲染效率与交互流畅性。
-
display:none让transition失效,因其是离散属性,无中间状态;应改用visibility+opacity、max-height+overflow或JS强制触发布局等替代方案。
-
父div高度塌陷主因是子元素浮动脱离文档流,导致父容器无法感知其高度;解决法包括overflow:hidden、伪元素清除浮动或display:flow-root;此外需排查绝对定位、显式height:0、Flex/Grid内容缺失及多因素叠加影响。
-
CSS动画可通过原生animationend事件监听结束时机,支持现代浏览器,触发时提供animationName、elapsedTime等属性,需注意infinite动画不触发及内存泄漏问题。
-
ServiceWorker是实现Web离线能力的核心,需在HTTPS下注册,通过install预缓存、fetch拦截(导航cache-first、APInetwork-first)、activate清理旧缓存,并注意调试与容错。