-
最常见的原因是外部CSS文件未正确引入,包括路径错误、加载顺序不当、缓存问题或MIME类型不匹配,需检查link位置、href路径、Network响应及样式覆盖情况。
-
WebSQL不支持XML类型字段,XML仅作TEXT存储且无结构校验;存前需DOMParser+XMLSerializer转义,查后需重新解析;推荐改用JSON、IndexedDB或服务端解析。
-
首先确认安装Web开发工具,通过EclipseMarketplace安装WebToolsPlatform;接着创建DynamicWebProject项目,并在WebContent目录下新建HTML文件;然后配置本地Tomcat服务器并部署项目;最后启动服务器并右键HTML文件选择RunonServer,在浏览器中查看运行效果。
-
Map和Set不是语法糖,而是解决Object/Array在键类型、去重、遍历、性能上的根本缺陷;Map支持任意类型键且无原型污染,Set基于SameValueZero去重并保序,但二者不支持JSON序列化且兼容性受限。
-
Math.random()生成[0,1)浮点数,整数范围[min,max]用Math.floor(Math.random()(max-min+1))+min,浮点数范围[min,max)用Math.random()(max-min)+min。
-
优先用transition处理简单状态切换,如hover、toggle;需多步变化、循环或复杂时序时用animation。二者可共存,但需注意性能、兼容性及无障碍支持。
-
IE11中video标签不支持aspect-ratio且忽略width/height语义,需用padding-top百分比容器配合绝对定位实现等比缩放,object-fit无效但可用contain防拉伸,poster尺寸须匹配视频比例,preload避免auto,动态插入需预设样式或监听loadedmetadata修正。
-
JavaScript内存泄漏检测与避免需理解GC机制、识别泄漏模式并持续监控:全局变量、未清理定时器、闭包缓存、未解绑事件、DOM引用残留是常见原因;ChromeDevTools可录制分配时间线、对比堆快照定位泄漏;编码中应完善组件销毁逻辑、分页处理大数据、运行时监控内存、CI引入静态检查,Node.js需慎用全局缓存并利用--inspect分析。
-
JavaScript代码压缩通过移除无用字符、简化语法、混淆变量名等减小体积,提升加载速度;核心是不改逻辑前提下使代码更紧凑,依赖Webpack/Vite等构建工具自动启用Terser,在production模式下删除注释空格、缩短名称、tree-shaking、简化表达式;也可手动调用Terser命令行或API压缩;压缩前应清理console/debugger、冗余代码、优化字面量和模块化;服务端需配合Gzip/Brotli压缩,Brotli比Gzip平均再减15%体积。
-
当CSS中line-height被设为极小值(如2px),会导致行高远小于字体实际高度,引发上下段落文字相互覆盖;正确做法是移除该值或使用无单位数值(如1.4)让浏览器自动计算合理行高。
-
iPad上audio.play()必须由用户手势触发,否则静默失败;iOS自iOS10起强制限制非交互式播放,即使autoplay+muted也不可靠;首次播放需绑定click/touchend并catch错误。
-
最直接的方法是使用CSS的:last-child伪类,它能选中父元素的最后一个子元素,无论类型;2.:last-child与:nth-last-child(1)功能等价,但后者更灵活,可选倒数第n个;3.:last-of-type选择同类型子元素中的最后一个,而:last-child关注所有子元素中的物理位置;4.常见应用场景包括去除列表末尾边距、导航分隔符处理、表单布局调整和动态内容样式控制;5.注意事项包括理解“直接子元素”概念、避免优先级冲突、区分:last-child与:last-of-type的
-
安全清理HTML5旧代码需先识别验证再替换,不可直接删除注释脚本;须检查实际使用的HTML5元素及属性、polyfill依赖、内联脚本中的WebAPI调用,并通过多浏览器回归测试确保功能完整。
-
z-index失效因元素未定位或处于不同层叠上下文;绝对定位参照最近已定位祖先,非父元素;flex/grid中order等属性会改变视觉顺序但不影响DOM结构。
-
通过模板引擎在布局文件中集中引入CSS,子页面自动继承;2.利用Webpack等构建工具自动注入带哈希的样式链接;3.使用SSI或服务器端包含复用头部;4.采用WebComponents封装自带样式的自定义元素;5.根据项目规模选择合适方案,统一管理避免重复引入。