-
JavaScript内存泄漏主因是未释放不再使用的对象。1.意外全局变量:省略var/let/const致变量挂window,应启严格模式;2.事件监听器未清理:DOM移除后监听器仍存,需配对removeEventListener或用once;3.闭包持有外部大对象:避免长期引用DOM或大数据,用后置null;4.定时器未清除:setInterval/setTimeout回调持续存在,销毁前须clear;5.DOM引用残留:节点移除后JS仍引用,应解绑事件并置引用为null。开发中宜用ChromeMemo
-
本文讲解如何正确居中一个无序列表(ul),使其整体水平居中于页面,同时确保列表项(li)及其默认项目符号始终靠左显示,避免常见HTML结构错误与CSS误用。
-
removeChild()需通过父节点删除子节点,兼容性好;remove()可直接删除元素,语法简洁但不支持IE。
-
应通过组合选择器(如:focus:active)精准控制共存状态样式,明确区分按压态与聚焦态,并确保:focus有足够可访问性反馈。
-
使用文本编辑器或专业工具如VSCode、WebStorm可编辑HTML文件,通过修改标签、属性调整内容,配合浏览器预览效果。
-
背景色“塌陷”是因为浮动元素脱离文档流导致父容器高度坍缩为0;解决核心是清除浮动,推荐伪元素法:.clearfix::after{content:"";display:table;clear:both}。
-
输入框聚焦高亮边框需用:focus伪类,推荐预设border宽度并修改color、禁用outline;或美化outline加offset;配合transition实现平滑动画,并兼顾可访问性。
-
position:fixed元素右下角固定失效主因是父容器设置了transform、filter或perspective,创建了新定位上下文;应移至body子级或移除相关样式,并注意移动端键盘及滚动场景的兼容处理。
-
gulp-clean-css默认不生成sourcemap,必须显式配置cleanCSS({sourceMap:true})并确保gulp-sourcemaps.init()在前、.write()在后;同时PostCSS(含autoprefixer)须在clean-css前执行,且@import需用postcss-import正确解析路径,watch需覆盖所有被import的文件(含_*.css)。
-
sticky导航卡顿的根本原因是频繁重排重绘,源于复杂布局、不当overflow/transform设置、scroll监听及动态样式计算等,而非sticky本身。
-
相对定位元素位移后仍占原文档流位置;其本质是先按正常流占位再基于原位置偏移,top/left等不引发重排,z-index受层叠上下文限制,absolute子元素以relative父元素为containingblock但不受其后续位移影响。
-
通过font-size、color和text-align类可高效实现文本样式控制,如text-lg设字号、text-blue-600定义颜色、text-center居中对齐,结合响应式类提升开发效率与视觉统一性。
-
保证足够对比度,使用工具检查是否符合WCAG标准,推荐深灰文字配浅色背景以提升可读性;2.品牌色应克制使用,背景宜用浅版品牌色并避免互补色冲突,可通过透明度柔化视觉;3.中性色如浅灰、深灰能平衡页面,暗色模式推荐深灰背景与柔和文本色减少眩光;4.利用CSS媒体查询动态适配明暗模式,通过变量统一管理配色,提升用户体验与可访问性。
-
WebComponents是浏览器原生标准,含CustomElements(需含短横线、继承HTMLElement、用define注册)、ShadowDOM(open/closed模式、slot分发、样式隔离)和template克隆机制,但无内置响应式,通信依赖属性/事件。
-
应使用aspect-ratio或padding-bottom技巧实现视频宽度100%时高度自适应:现代浏览器用video{width:100%;aspect-ratio:16/9;object-fit:cover},旧浏览器用外层容器padding-bottom:56.25%配合绝对定位video。