-
data-*属性转dataset键名时连字符变驼峰(如user-id→userId),值恒为字符串,须手动类型转换;修改需用setAttribute而非直接赋dataset;事件委托中应通过closest定位带data属性的祖先元素。
-
需用MessageChannel实现可中断的优先级调度,因requestIdleCallback不可抢占且无取消能力;MessageChannel通过微任务通信支持高优任务立即插入和切片间中断检查。
-
float与inline-block不能混用实现混合浮动布局,因float使元素脱离文档流并强制display为block,导致inline-block的vertical-align等特性失效,引发换行、错位、塌陷等问题。
-
本文详解dirReduc函数中栈(stack)的工作机制,重点解释stack[stack.length-1]的安全访问逻辑、空栈时的行为表现,以及方向对(如NORTH/SOUTH)如何被动态识别并移除。
-
真正起效的是明确项目类型、锁定最小必要样式集、从可复用模板切入;选框架前需确认是否需要响应式栅格、团队组件库兼容性及主题/RTL支持;CDN引入须隔离作用域;复制官方模板源码并精简class最高效;自定义配置须在首屏渲染前生效,警惕框架暗默认行为。
-
分页中当前页必须用aria-current="page"明确标识,仅作用于带href的<a>元素;禁用aria-disabled或移除href;外层容器按需用<nav>或aria-label标注;上/下一页按钮须语义正确、可聚焦、有明确标签;动态分页需同步更新aria-current、手动聚焦并精准播报。
-
可直接用import()动态加载加密模块到Worker实现完全解耦——密钥与中间态数据不泄露、主线程不阻塞;Worker作用域天然隔离,密钥仅在self内生成/传递,配合模块封装(如只export核心函数、WeakMap缓存)和安全调用流程(动态加载、postMessage传参、结果精简返回),强化算法边界与内存安全。
-
Less中\9等IEHack必须用~"\9"转义,否则编译报错;属性前缀+、、_需用@{hack}注入;是唯一可裸写的Hack字符;条件注释须在HTML层实现。
-
用<dialog>+radio实现可选优惠券弹窗:支持多券单选、选中反馈、关闭保留状态、表单联动;关键是在close事件中即时获取:checked值,用<label>包裹<inputtype="radio">确保语义与交互正确。
-
闭包封装数据、监听器和渲染函数实现状态监听与自动渲染,通过Proxy拦截get/set完成依赖收集与触发更新,并提供onUpdate/offUpdate支持动态注册与清理,防止内存泄漏。
-
Less中写媒体查询需用&显式绑定父选择器,如.nav{@media(max-width:768px){&{display:none;}}};避免深层嵌套、冗余循环和无效组合,合理拆分文件并使用变量管理断点与移动端样式。
-
微前端通过按路由拆分子应用,选用qiankun实现隔离与通信,主应用统一管理依赖与状态,提升系统可维护性与团队协作效率。
-
Tailwind默认不支持mix-blend-mode类,需通过@layerutilities手动注入;bg-black/50无法参与混合,因background-color不构成可混合的背景层;全屏视频+遮罩+文字必须严格分三层:视频层、多背景层遮罩(如渐变)、独立文字层,并确保stackingcontext、z-index和isolation设置正确。
-
<p>calc(100vw-17px)不可靠因滚动条宽度动态变化,应改用JS获取真实宽度注入CSS变量,或优先使用width:100%替代。</p>
-
用:not(.target)最安全,但括号内仅限单个简单选择器;语法错误(如:not(.a.b))会导致整条规则被浏览器丢弃;排除多个类需链式写:not():not(),且:not()仅作用于目标元素自身,不涉及祖先或后代。