-
用:root定义带语义前缀的主题变量(如--theme-color-primary),通过class切换:root下的变量值实现主题切换;transition需作用于具体属性(如background-color),而非变量名本身,且所有尺寸变量须在初始CSS中定义以避免抖动。
-
PurgeCSS删不掉动态类名是因为它只识别静态字符串,无法感知运行时拼接、JS注入或模板字符串中的类名;需通过safelist显式保留、配置customextractors或改用支持AST解析的模式。
-
根本原因是iOS系统在input等元素聚焦时检测到font-size<16px触发辅助缩放,真正有效解法是统一设为≥16px,如input,textarea,select,[contenteditable]{font-size:16px!important}。
-
闭包不捕获this,其this由调用方式决定;解决方法包括缓存this、bind绑定、使用箭头函数或传参替代。
-
thead不能直接设position:sticky,因其display计算值为table-header-group,不符合CSS规范对sticky定位元素“必须是块级或行内级”的要求,所有主流浏览器均不支持。
-
backdrop-filter在旧浏览器中不生效是因未实现该特性,需用rgba()降级色并配合@supports检测,同时避免overflow:hidden、添加-webkit前缀及合成层优化。
-
通过cursor属性可设置鼠标指针样式,如pointer、text、move等,用于提供交互反馈;支持自定义图片光标并设置备选值,合理使用能提升用户体验,需注意兼容性。
-
Vue路由无法直接跳转外部链接,必须用原生方式:当前页用window.location.href,新标签页推荐window.open(url,'_blank','noopener,noreferrer'),模板中用标签并添加rel="noopenernoreferrer"。
-
合理使用margin-left和margin-right可精准控制布局,需注意文档流方向、盒模型及响应式适配;在RTL语言中建议采用逻辑属性以提升兼容性;避免水平外边距导致溢出,可通过调整display、box-sizing或使用父容器padding解决;浮动与弹性布局中外边距行为不同,推荐flex使用gap或justify-content;响应式设计应选用相对单位并结合媒体查询优化显示效果。
-
HTML瀑布流失效的根本原因是图片缺乏可预测的宽高比。必须显式设置width/height或aspect-ratio,配合srcset/sizes、禁用首屏lazy加载、避免column-count截断、监听img.load而非仅IntersectionObserver,并启用grid-auto-flow:dense。
-
margin:auto在Flex中生效的前提是父容器必须设display:flex;它只沿主轴吸收剩余空间,需匹配flex-direction方向,且父容器要有明确高度才能实现交叉轴居中。
-
本文详解jQuery动态Tooltip不可见的根本原因——未正确触发动画类,提供简洁可靠的修复方案:复用DOM中预置的tooltip元素并添加appear类,避免重复创建与手动定时移除,确保视觉反馈即时、平滑且可维护。
-
固定表头需对th设置position:sticky;top:0;,而非thead;必须保留标准thead/tbody结构以保障语义化,iOS需父容器设height+overflow-y:auto且th有显式width。
-
IIFE用于ES5及之前模拟块级作用域,解决var变量提升、循环闭包、全局污染等问题;通过自调用函数创建独立词法作用域,封装私有变量并暴露公共接口;ES6后被let/const和模块系统取代。
-
Reflect.apply()是Function.prototype.apply()的函数式、不可篡改封装,强制要求目标函数、this值和数组形式参数,不支持隐式绑定或展开参数,严格模式下null/undefined保持原值,非严格模式下转为全局对象。