-
最简方案是直接给body加background-attachment:fixed,但iOSSafari和部分安卓WebView不支持,且Chrome在body有transform等属性时也会禁用;推荐用body::before伪元素模拟fixed效果,需设position:fixed、z-index:-1、pointer-events:none,并确保background-size:cover和background-position:center。
-
主题切换不必强制用JavaScript控制:root,但主动切换主题必须依赖JS修改:root自定义属性以触发重绘;纯CSS仅支持有限响应,如系统暗色模式。
-
position:fixed“飘”是因父容器transform创建新包含块、z-index层级不足或Safari移动端兼容问题;应移除无意义transform、设足够z-index、用translateY(-50%)居中且不干扰参照系,并为Safari加-webkit-sticky降级。
-
console.log是轻量调试工具,需用标签、分组、对象包裹提升可读性;console.table适合结构化数据对比;console.trace和console.time分别用于追踪调用栈和性能计时;注意日志非原子性,需快照避免引用误读。
-
SEO有效标题和描述必须由服务端在首屏HTML中直出,客户端JS动态修改无效;局部同构刷新要求服务端与客户端对区块语义、数据边界、key及props严格一致,否则导致水合失败、SEO内容丢失。
-
预解析是引擎对整个作用域的快速扫描,仅提升var和function声明;懒解析则延迟函数体解析至首次调用,二者协同缩短首屏可交互时间。
-
最可靠的选择器测试方式是在Elements面板用Ctrl+F或Cmd+F直接输入CSS选择器,支持完整语法并高亮匹配元素,显示“XofYmatches”或“Noresults”。
-
本质区别在于语义层级与监控捕获:console.warn表示可恢复的非严重问题,不触发断点、常被SDK忽略;console.error表示预期外失败,带堆栈、默认被捕获。
-
SVG圆环进度条通过stroke-dasharray设为周长、stroke-dashoffset动态偏移实现,需配合rotate(-90)对齐顶部、viewBox响应式缩放,并仅对stroke-dashoffset做CSS过渡动画。
-
export仅定义同步能力的接口契约,不实现分布式同步逻辑;其通过命名导出、默认导出和类型导出暴露可复用、可测试的同步API,依赖鸿蒙等底层分布式能力完成真实数据同步与通讯。
-
HTMLmeta的content是元数据值,须与name或http-equiv配对;CSS伪元素的content是生成内容指令,仅用于::before/after;contenteditable是布尔属性,控制编辑状态,三者语义与用法互不相关。
-
使用Node.js和ApolloServer搭建GraphQLAPI,相比REST更高效精准。2.初始化项目并安装apollo-server-express等依赖。3.创建服务器实例,定义typeDefs和resolvers。4.通过gql定义Schema,包括Query和Mutation类型。5.实现解析器逻辑处理数据请求。6.集成数据库如Mongoose进行持久化操作。7.使用Apollo内置错误类统一异常处理。8.开发时启用GraphQLPlayground调试。9.结合Express中间件实现JW
-
CSS中通过[lang="zh-CN"]等标准BCP47属性选择器触发字体切换,需HTML元素正确设置lang属性;中日韩字体应按语言分层声明,优先使用系统专属字体并严格排序;@font-face须按语言拆包+unicode-range精准控制;font-feature-settings需按lang细粒度配置以适配地域字形。
-
最推荐使用fetchAPI;它基于Promise、语法简洁、支持async/await,但需手动处理HTTP错误、超时和Cookie;XHR更底层、兼容性好、支持原生超时与进度控制,适合复杂场景。
-
最直接的方式是用document.querySelector定位元素后通过style属性修改内联样式,但仅影响行内样式;批量操作用querySelectorAll配合forEach;修改单个样式需用驼峰命名(如backgroundColor);设置display:none后getComputedStyle将返回该值而非原始CSS值;推荐优先使用classList.add/remove/toggle切换预设类名以提升可维护性;动态注入样式规则需通过CSSStyleSheet.insertRule;监听真实渲