-
fixed元素定位参考视口而非父容器,父级transform等会使其退化为absolute;移动端Safari存在跳动、键盘遮挡等问题;应提至body下、用padding-top替代margin-top、动态适配高度。
-
虚拟DOM是用JavaScript对象模拟真实DOM的轻量层,避免频繁重排重绘,支持批量更新与跨平台;React.createElement等返回虚拟DOM对象,diff算法仅同层级同type比较,key用于标识可复用节点,列表渲染须用稳定唯一key。
-
HTML5元素样式可通过内联style属性、内部样式表、外部CSS文件、CSS类选择器和ID选择器五种方式设置;内联样式优先级最高,内部样式表置于<head>中,外部CSS便于复用,class支持多值复用,id须全局唯一。
-
当使用text-indent:-20px配合margin-left:20px实现悬挂缩进时,若前有左浮动元素(如广告栏),文本可能异常覆盖其上;根本解法是通过clear:both强制段落从浮动元素下方开始流式布局。
-
侧滑删除菜单用transform而不用left或margin,因其触发硬件加速、避免重排卡顿;需配合will-change、overflow:hidden、精准贝塞尔过渡及touchmove实时计算位移,并处理框架响应式冲突与iOS/安卓兼容性问题。
-
SharedWorker可实现同源多标签页共享后台线程与状态,需单独部署脚本、手动维护state并通过MessagePort通信,不支持DOM但可调用fetch/IndexedDB,须HTTPS、注意Safari兼容性及持久化补充。
-
发布-订阅模式通过事件中心实现对象间解耦,JavaScript中可创建EventEmitter类,提供on、off、emit方法支持事件订阅、取消与发布,并可通过once实现一次性监听,适用于组件通信、状态响应和模块解耦等场景。
-
::first-line伪元素仅作用于块级元素首行文本,支持color、font-size等文本属性,不支持盒模型属性;失效常见于行内元素、内容打断或优先级冲突。
-
清除浏览器缓存可解决页面显示异常,方法包括:一、通过设置清理缓存,选择“所有时间”并勾选“缓存的图片和文件”;二、使用Ctrl+F5(Windows)或Cmd+Shift+R(Mac)强制刷新页面;三、开发者工具中勾选“Disablecache”实时禁用缓存;四、手动删除系统中的浏览器缓存文件夹以彻底清除旧数据。
-
JavaScript异步指耗时操作在后台运行,主线程继续执行,避免页面卡死;依靠事件循环和任务队列实现,含microtask(如Promise)与macrotask(如setTimeout);回调函数是基础方式,易致回调地狱,现多用Promise链式调用和async/await语法提升可读性与错误处理能力。
-
该错误表明npm在当前目录下找不到package.json文件,通常因项目未初始化或命令执行路径错误导致;只需在正确目录下运行npminit创建配置文件,即可解决安装失败问题。
-
PSD转HTML5有四种方法:一、Photoshop切片导出旧版HTML,兼容性差;二、用Avocode等插件智能生成语义化代码;三、通过PSD2HTML等在线平台云端转换;四、手动切图+手写HTML5/CSS3,最规范可控。
-
div是块级元素,span是行内元素:div默认独占一行、支持完整盒模型属性;span默认不换行、只包裹内容宽度、垂直方向样式受限;语义上div用于结构布局,span用于文本局部样式化。
-
BroadcastChannel不能配合MessagePort直接使用,因其依赖结构化克隆算法,而MessagePort不可复制;正确方案是BroadcastChannel仅广播轻量信号,再通过SharedWorker或MessageChannel建立专属MessagePort进行数据传输。
-
HTML本身不保存运行记录,但可通过浏览器历史记录、开发者工具网络面板、系统最近使用文件、代码编辑器打开历史及本地存储日志追溯操作痕迹。