-
FOIT指字体加载时文字空白,FOUT指先用系统字体再替换;默认font-display未设导致浏览器策略不一,swap最常用但需控制字体度量差异,preload关键字体可缩短swap窗口,自助托管比第三方服务更可控。
-
RetainedSize是识别闭包内存泄漏最直接有效的指标——它反映闭包被回收后可释放的内存量;聚焦(closure)构造函数,按RetainedSize降序排序,重点排查超500KB且持续增长的实例,通过Retainers追溯至window、全局Map或已卸载组件等泄漏源头,并结合多快照对比与CapturedValues分析定位真凶。
-
<p>Less无法自动平衡多栏高度,但可通过变量精准控制列宽比例:用@columns定义总栏数,结合calc()和运算式(如(100%-(@columns-1)*@gap)/@columns)动态计算净宽,并通过mixin封装响应式列布局,支持断点切换栏数。</p>
-
直接用@keyframes+animation可实现可靠高性能滑入动画:定义slideIn关键帧使元素从translateX(-20px)/opacity:0到translateX(0)/opacity:1,再通过animation:slideIn0.4sease-outforwards应用,注意避免display:none、overflow:hidden等导致失效,并分离slide-in/slide-out逻辑确保多次进出稳定。
-
全屏API可通过requestFullscreen()使元素全屏,exitFullscreen()退出,结合fullscreenElement和fullscreenchange实现状态管理,需在用户操作中调用并处理浏览器兼容性。
-
height:100%不生效是因为百分比高度需父元素有明确高度,而html的父级(视口)默认不被当作有高度的容器;应改用height:100vh或min-height:100dvh,并重置margin/padding。
-
JavaScript异步指耗时操作在后台运行,主线程继续执行,避免页面卡死;依靠事件循环和任务队列实现,含microtask(如Promise)与macrotask(如setTimeout);回调函数是基础方式,易致回调地狱,现多用Promise链式调用和async/await语法提升可读性与错误处理能力。
-
手机上字体未变小是因为未定义最小断点类(如text-sm),仅写md:text-lg导致默认状态无font-size;Tailwind不自动回退,须显式声明各断点类并按顺序书写。
-
Blob配合URL.createObjectURL可纯前端导出文本:先用指定UTF-8编码的Blob封装字符串,再生成临时blobURL,通过动态创建带download属性的a标签模拟点击触发下载,最后移除元素并释放URL。
-
能,但需正确设置viewport元标签、合理选择rem/vw单位并按内容而非设备设断点。viewport须置于head最前且写全参数;rem宜JS动态设置,vw需防iOS键盘干扰;断点应基于容器宽度和内容布局需求,辅以容器查询与真机多场景验证。
-
能,caret-color专用于设置输入框光标颜色,支持所有CSS颜色语法,不继承,需显式设置在可编辑元素上,兼容Chrome57+/Firefox53+/Safari11.1+,注意优先级和旧版Safari降级方案。
-
worker_threads仅能缓解CPU密集型阻塞,对同步I/O(如fs.readFileSync)、同步解析或忙等待等阻塞事件循环的操作无效,主线程仍会卡死。
-
纯CSS粒子仅支持静态或简单循环动画,因无逐帧计算能力,无法实现鼠标吸附、碰撞反弹等交互效果,且粒子数超150易致渲染瓶颈;canvas+requestAnimationFrame才是高密度、物理响应式粒子的正确方案。
-
必须用<strong>而非<b>当文字承载不可省略的重要性,如表单错误提示、操作风险警告、API必填字段、关键数据等;<b>仅限纯视觉加粗且无语义需求的极少数场景。
-
最直接且推荐的方式是使用<link>标签在HTML的<head>部分引入外部CSS文件,通过rel="stylesheet"和href属性指定样式表路径,实现结构与样式的分离,提升代码可维护性、复用性、缓存效率及团队协作能力。