-
用border画箭头而非SVG或图片,因伪元素::before/::after不占DOM节点,可零JS、零资源实现单色实心三角,兼容IE8+;但不支持描边、渐变或圆角。
-
使用在线协作工具如Replit、CodeSandbox实现多人实时编辑,结合Git进行版本控制与分支管理,通过Trello等工具明确分工,配置Prettier和ESLint统一代码风格,确保沟通透明与流程清晰,提升HTML项目协作效率。
-
要让多个CSS动画不“错拍”,需确保所有动画的起始时间(animation-delay)和持续时间(animation-duration)均一致,使播放窗口完全对齐;推荐用CSS自定义属性统一管理时序参数,并避免JS启停导致的微时差失步。
-
BEM通过将组件层级、元素角色和状态硬编码进类名(如header__logo--dark),使样式作用域一目了然,显著减少排查“类在哪生效”的时间;但需配合stylelint-selector-bem-pattern严格校验,禁用自动修复,并避免与CSSModules混用以保可读性。
-
gap是Grid容器原生控制轨道间距的属性,不参与子项盒模型计算、不触发margin折叠、不导致响应式溢出;而margin在Grid中强行模拟间距会引发边框重叠、首末行错位及小屏横向滚动等问题。
-
z-index失效本质是层叠上下文割裂,模态框与固定头部不在同一上下文内比较;需检查并确保二者同属一个上下文或各自独立且z-index合理。
-
根本原因是响应式系统未就绪时访问computed,导致undefined报错;常见于setup早期、微任务中过早读取;应延迟至onMounted、用ref缓存或封装安全读取函数。
-
JavaScript事件循环确保异步任务有序执行:同步任务先执行,随后清空微任务队列(如Promise回调),再执行一个宏任务(如setTimeout),如此循环。微任务优先级高于宏任务,保证高优先级回调快速响应。常见宏任务包括script、setTimeout、setInterval、I/O操作;微任务有Promise.then、MutationObserver、queueMicrotask等。例如,console.log('Start')和console.log('End')作为同步任务最先输出;接着
-
Object.defineProperty()可精细控制属性的enumerable和configurable:enumerable为false时属性不可遍历但可读写;configurable为false时不可删除或重定义特性;二者组合可实现类私有属性。
-
JavaScript生成器是能暂停和恢复执行的特殊函数,通过yield交出控制权并返回值;用function*声明,调用后返回可迭代的生成器对象,其next()方法逐步执行并返回{value,done}。
-
纯CSS油量仪表盘用半圆容器+conic/linear-gradient填充,transform-origin:bottomcenter配合rotate((fuel/100)*180-90)实现0%→-90°、100%→90°映射,SVG绘制刻度确保高DPI适配,transition优化突变动画。
-
低代码平台不直接暴露flatMapAPI,但在底层逻辑编排或自定义脚本中可用flatMap高效实现多数据源动态合并与拓扑排序:通过flatMap展开、过滤、映射异构数据源为带优先级的扁平执行单元,并驱动变量聚合节点分组配置,同时需遵守平台约束如兜底值置尾、类型统一和分组数限制。
-
虚拟列表是解决长列表渲染性能问题的方案,通过仅渲染可视区域元素、用transform定位及固定高度容器来避免DOM过载,不可混用非虚拟节点,宜配合游标分页而非传统分页。
-
rgba()支持透明通道且仅影响当前颜色属性,#hex不支持透明(除新标准8位扩展但兼容性差);rgba()第四参数为0–1小数,需先转RGB再加alpha;IE8及以下需fallback写法;透明背景需同步保障文字对比度。
-
BEM要求Block必须是独立、可复用、带业务语义的功能单元(如user-profile),禁用泛标签名(header)或视觉描述名(top-banner);Element命名不回溯父级(user-profile__name,非user-profile__user-profile-name);Modifier须语义化(--primary,非--white)。