-
通过检测全局对象区分环境,如用isNode()判断;2.避免使用fs、document等平台特有API;3.用polyfill兼容功能差异,如node-fetch、path-browserify;4.采用ESM并配置package.json支持双模块语法,实现跨平台运行。
-
推荐使用overflow-wrap:break-word解决长单词溢出,它优先保持单词完整,仅在必要时断行;而word-break:break-all会无差别切割,影响可读性。
-
Flex布局通过display:flex启用,核心是主轴与交叉轴的对齐控制。1.flex-direction设置主轴方向(row/column及其反向);2.justify-content控制项目在主轴对齐(flex-start至space-evenly);3.align-items定义交叉轴对齐方式(stretch至baseline);4.align-self允许单个项目覆盖align-items;5.flex-wrap决定是否换行(nowrap/wrap/wrap-reverse);6.多行时alig
-
用watchEffect实现视频播放自动存档,关键在于通过ref同步currentTime并在watchEffect中读取以触发依赖追踪,结合onInvalidate清理定时器、节流存档、AbortController中止旧请求、时间戳防竞态及isSaving/saveError状态反馈确保可靠性。
-
只加img-fluid无法解决画廊错位、拉伸或留白,因其仅实现单图等比缩放(max-width:100%;height:auto),不控制容器尺寸、不约束裁剪方式、不处理多图间隙;object-fit:cover必须配合明确高度的容器才生效,否则父容器仍被原始图片撑开导致网格塌陷。
-
BackgroundSyncAPI可在恢复网络后自动重试离线提交任务,需HTTPS、激活的ServiceWorker和浏览器支持(Chrome/Edge),通过register()注册、sync事件处理,并配合IndexedDB与幂等设计保障可靠性。
-
Proxy是JavaScript中唯一能拦截并自定义对象基本操作的机制;它通过handler对象定义get、set等拦截函数,需显式实现逻辑,否则透传;无法自动深度代理嵌套对象,且必须用Reflect委托默认行为以避免语义破坏。
-
:scope在CSS文件或<style>标签中完全无效,仅在JS的querySelector等DOM查询方法中有效,且仅指向调用该方法的元素自身;浏览器解析样式表时无运行时上下文,:scope被当作:root处理。
-
实现页面“秒开”的关键是首屏内容可呈现时即完成关键路径执行,Vue3的BlockTree机制通过动态/静态分区跳过静态节点patch,大幅提升首帧渲染效率。
-
本文介绍如何在Flexbox中实现“标签宽度取max-content与100px的较小值”效果,即:标签内容短时不撑开(避免浪费空间),内容长时至少保持100px宽度并自动截断,同时确保值区域优先收缩。
-
Canvas阴影需同时设置shadowColor和shadowBlur且在绘制前完成,否则无效;shadowColor默认透明导致无影;shadowBlur为0或负数无模糊;clearRect等操作会重置阴影属性;drawImage不支持阴影;filter可替代但有兼容性问题;阴影偏移受坐标变换影响;大blur小图形易虚化;动画中应控制shadowBlur在4–12以保性能。
-
clamp()设置字号必须单位兼容、顺序正确、首选值合理浮动,否则整条声明被浏览器丢弃;Safari中clamp不生效主因是vw解析延迟,缺viewportmeta或嵌套@media会加剧问题。
-
\b是匹配单词边界的零宽断言,位于\w与非\w字符之间,不消耗字符;正确用法为\b目标词\b,确保只替换完整单词。
-
<tt>标签已废弃,应改用语义化HTML元素(如<code>、<kbd>)配合font-family:monospace等CSS方案,兼顾可访问性、兼容性与精确排版需求。
-
Promise不能在HTML中直接使用,因HTML是标记语言;须在script中用newPromise()构造并传入executor函数,注意fetch需检查response.ok,async/await需配合try/catch处理错误。