-
contenteditable的优势包括浏览器原生支持、上手快、适合简单编辑场景;局限性包括跨浏览器行为不一致、复杂操作支持差、安全风险高。具体来说,1.优势:无需第三方库,快速实现基础编辑功能;2.局限:输出HTML不可控、难以处理撤销/重做等高级功能、易引入XSS攻击。针对常见挑战的解决方案包括:1.使用DOMPurify清理HTML;2.手动操作DOM以获得更高控制力;3.自建历史栈实现撤销/重做;4.拦截paste事件并规范化粘贴内容;5.管理光标选区提升交互体验。构建富文本编辑器还需考虑UI设计
-
WeakMap通过弱引用键解决内存泄漏问题,适用于关联对象私有数据、缓存和DOM状态管理,其键必须为对象且不可遍历,与Map的强引用和通用性形成对比,适合需生命周期同步的场景。
-
HTML5中实现对齐需正确使用CSS属性:text-align控制块内行内内容水平对齐;margin:0auto使定宽块级元素水平居中;Flexbox通过justify-content和align-items实现多维对齐;vertical-align用于行内/表格单元格垂直对齐;writing-mode结合text-align可处理垂直文本对齐。
-
JavaScript中this在函数调用时动态确定,指向执行上下文的“所有者”对象;普通调用非严格模式下指向全局对象,严格模式下为undefined;对象方法调用时指向该对象;call/apply/bind可显式绑定;箭头函数无this,继承外层普通函数作用域的this;构造函数和class中this指向新实例。
-
Grid布局与浮动混用必然出问题,因Grid容器内float无效,而兄弟或嵌套浮动会干扰文档流,导致错位、塌陷;应分离职责:Grid管整体结构,浮动仅限隔离的局部上下文。
-
浏览器无法直接加载SCSS,必须先编译为CSS再通过link标签引入;推荐使用sass--watch实时编译,并确保HTML中href路径与输出CSS位置一致,构建工具如Vite可自动处理无需手动写link。
-
JavaScriptmock核心是拦截真实请求而非造假对象,分三类:全局重写fetch/XMLHttpRequest(开发调试)、msw基于ServiceWorker(推荐测试+开发)、axiosadapter(仅限axios项目),关键要保持mock与真实接口同步。
-
HTML页面排版布局有五种方法:一、Flexbox用于一维对齐;二、Grid实现二维行列控制;三、浮动配合清除适用于旧项目或文本环绕;四、定位实现精确坐标控制;五、display属性调节元素显示模式。
-
可借助AdobeAnimate、FFmpeg、Swiffy离线版和Lottie+Bodymovin四种工具将Flash动画或视频转为HTML5格式:Animate导出Canvas,FFmpeg转码MP4/WebM,Swiffy转换简单SWF,Bodymovin导出AE动画为JSON并用Lottie渲染。
-
FetchAPI是现代浏览器中基于Promise的网络请求标准,语法简洁但需手动处理状态码、凭证、超时等;与XMLHttpRequest相比,它不自动解析响应、不发Cookie、无内置超时和进度监听,需显式配置credentials、headers并配合AbortController使用。
-
根本原因是桌面端grid声明直接照搬小屏,导致列宽不足;必须用移动优先+媒体查询分层控制列数、gap和span,并确保子元素也响应式。
-
ServiceWorker是运行在浏览器后台的可编程代理层,能拦截网络请求、精细控制缓存、支持离线访问与后台任务,从而提升首屏速度、减少重复下载、实现平滑降级和预加载协同。
-
首先使用HTML5的<nav>标签构建语义化导航结构,结合<ul><li>列表定义菜单项;接着通过CSS的flex布局实现水平排列与响应式设计,添加:hover悬停效果提升交互体验;然后在移动端采用“汉堡”按钮切换菜单显示,利用JavaScript控制.nav-menu的显示状态,并通过媒体查询调整小屏幕下的垂直布局;最后增强可访问性,添加aria-label属性、:focus焦点样式,确保键盘导航与读屏工具兼容,从而完成一个结构清晰、样式美观、响应式且可访问的现代导航
-
使用Flexbox结合媒体查询可实现响应式页脚对齐。1.设置display:flex,用justify-content和align-items控制主轴与交叉轴对齐;2.在小屏下通过mediaquery改为column布局,居中对齐提升可读性;3.多区域页脚采用嵌套flex容器,配合gap和flex-wrap实现自适应;4.注意IE兼容性、避免固定宽度,并辅以text-align优化文本对齐,确保在不同设备上均良好显示。
-
弹窗CSS定位核心是遮罩层用fixed全屏覆盖,弹窗主体用fixed+transform居中;需设max-width/max-height防溢出,配合overflow-y:auto、body滚动禁用、焦点管理及动画优化以保障响应性与可访问性。