-
JavaScript作用域指标识符可被访问的范围,分全局作用域(script顶层声明,挂载window,生命周期长)和函数作用域(函数内声明,调用时创建,执行完销毁),块级作用域(ES6,{}内let/const)与函数作用域并列。
-
mix-blend-mode对纯文字无效,需通过background-clip:text或容器包裹使其成为混合源;screen/multiply最易见效,overlay/color-dodge更富表现力但敏感;性能开销大,需谨慎升层;Safari兼容性差,须结合@supports与JS检测降级。
-
容器查询必须先声明container-type,否则@container规则无效;仅inline-size广泛支持;不可用于:root或body;禁用em/rem等相对单位;推荐px单位;container-name实现命名隔离;Chrome105+等主流浏览器原生支持。
-
align-items:stretch默认生效但子项高度不一致,主因是父容器无明确高度、子项设了min-height/height、box-sizing为content-box、内容撑高或被align-self覆盖。
-
WebWorkers是浏览器提供的后台线程机制,使JS能在不阻塞主线程的前提下执行耗时任务,其核心是隔离的JS上下文,仅通过postMessage通信,不可访问DOM,支持专用/共享Worker及模块化使用。
-
Vue.js中监听Vuexstate需通过computed创建响应式连接再用watch监听,或使用store.subscribe/subscribeAction全局订阅,Pinia则支持直接watchstore属性,更简洁高效。
-
iOSWebView中无法直接触发HTML5下拉刷新,需通过touchstart/touchmove拦截并e.preventDefault()阻止原生橡皮筋效果,配合overscroll-behavior-y:contain及正确滚动容器配置,同时用Math.abs(window.scrollY)<1替代scrollY===0避免iOS浮点误差。
-
多组animation值会拆分为独立动画轨道并行播放,但操作同一CSS属性(如transform)时后声明的会覆盖前声明的,无法叠加;需合并至同一@keyframes中实现真正叠加。
-
根本原因是@forward默认不暴露本文件定义的变量或混合宏,必须用as或asprefix-显式导出;若只转发部分成员需with声明;工具包入口应组合@use与@forward以兼容多种导入方式。
-
transition对margin有效,但图标随文字滑动应使用inline-flex容器+transform:translateX()实现,避免margin引发重排、换行或对齐问题,确保动画顺滑且兼容。
-
srcset和sizes让浏览器按设备像素比和布局宽度自主选图:srcset提供带w/x的候选图,sizes定义图片显示宽度,二者配合避免模糊;需避免混用单位、缺失sizes、仅用x描述,且WebP/AVIF必须用picture回退,同时保留width/height防布局偏移。
-
Tooltip箭头颜色无法继承父元素color或fill,须单独设置background-color(实心)或border-color(三角),且border需重写完整声明并匹配方向、样式与宽度。
-
直接修改style属性可动态调整内联样式,需用驼峰命名法;2.更换className或使用classList方法能切换预定义样式,利于样式与逻辑分离;3.通过document.styleSheets插入或修改CSS规则可全局控制样式;4.setAttribute重写style字符串适合一次性设置多个样式。根据场景选择操作class或style以灵活控制页面外观。
-
设置背景色、文字色、边框和内边距提升按钮可读性;2.用border-radius和box-shadow增强质感;3.通过:hover和:active配合transition实现交互反馈;4.统一按钮类并处理禁用状态,确保风格一致且可用性强。
-
最轻量可维护的跨项目调色板共享方式是CSS自定义属性,需分层定义基础色与主题色、避免全局污染、通过npm发布纯CSS包、构建期用PostCSS注入、JS仅读取不硬编码。