-
VSCode默认不预览index.html,必须用LiveServer启本地HTTP服务才能真正运行;双击或拖入浏览器走file://协议会导致fetch、ES模块、跨级相对路径等全部报错,因浏览器安全策略拦截。
-
<p>直接修改:root变量比覆盖class更可靠,因Bootstrap5所有样式均通过--bs-*变量中转计算,改:root可全局同步生效,避免选择器权重、重复覆盖及Portal组件失效问题,且需同步更新--bs-primary与--bs-primary-rgb等链式变量。</p>
-
navigator.onLine仅提供当前网络状态快照,不能直接触发同步;正确做法是offline事件暂存任务到本地存储,online事件或页面加载时主动执行幂等同步,并需防范假在线、时效性等实际问题。
-
移动端多列网格布局应优先使用display:grid,因其通过grid-template-columns一行定义列数与响应行为,比Flexbox更直接稳定;Flexbox仅适合一维排列,强行用于多列易导致换行错位和高度不一致。
-
JavaScript错误处理需分层拦截、类型识别与明确抛出:try...catch不捕获异步错误、语法错误及未处理Promise拒绝;应使用Error子类区分业务异常,Promise链须显式catch,全局需同时监听error和unhandledrejection事件。
-
纯CSS弹窗动画需用visibility+opacity+transform组合,禁用display;原生dialog须弃用showModal()改用show()+自定义backdrop;触发动画前需offsetWidth强制重排;移动端须加will-change和translate3d启用GPU加速。
-
重复媒体查询导致维护困难,主要因断点修改需全局替换、样式分散难对齐、编译后冗余膨胀;应抽离断点为变量和@mixinrespond-to($breakpoint),由调用方传入内容,避免嵌套@media,并统一模块化管理与导入。
-
RxJS操作符是纯函数,用于创建、转换、过滤、组合Observable。核心分类包括:of、from等创建类;map、switchMap、mergeMap等转换类,实现数据映射与流切换;filter、debounceTime、throttleTime等过滤类,控制值的输出频率;combineLatest、zip等组合类,融合多流数据;catchError、retry等错误处理类,保障流的稳定性。其中,switchMap常用于搜索防抖,mergeMap支持并发请求,debounceTime减少高频事件触发,
-
grid-template-areas必须每行引号内字符数相等、区域名不重复不遗漏、空白用"."占位;grid-template-columns/rows单位需按fr/px/auto语义合理搭配;grid-template简写顺序固定为行/列/区域,缺项需用/占位;其值不支持CSS变量或表达式。
-
<script>标签中的同步代码是宏任务,由HTML解析时按规范入队;其内部产生的Promise.then、queueMicrotask等回调才构成微任务,事件循环在每个宏任务后清空微任务队列。
-
opacity动画需显式声明transition或animation才能生效,@keyframes必须明确起止值0和1,配合forwards填充模式及visibility:hidden实现真正淡出。
-
Vue计算属性可返回函数,用于动态取值与响应式更新,如根据key读取对象字段;其原理是computed封装可追踪值,返回函数时闭包捕获最新响应式数据,调用时自动获取新值。
-
Flex实现响应式等高列在Less中需设父容器display:flex和flex-wrap:wrap,子项用flex:11auto,配合@media(max-width:768px)设flex-direction:column及flex:11100%,避免固定高度破坏拉伸逻辑。
-
<p>Less中calc()配合vw实现流式字号的前提是:所有运算必须在编译期完成并化简为“a+b*100vw”线性形式,用~""拼接字符串输出,否则因Less解析器误判运算符而报错。</p>
-
<metacharset="UTF-8">必须置于<head>内首个可解析标签位置,否则浏览器可能已按默认编码(如ISO-8859-1)开始解码,导致中文乱码且刷新无效;其值须严格为“UTF-8”,文件保存也须为UTF-8无BOM,且与HTTP响应头charset一致。