-
TailwindCSSv4采用CSS-first架构,核心配置须通过CSS指令(如@theme、@utility、@config)声明;tailwind.config.js仅保留content扫描和插件加载功能,不再参与样式生成。
-
background-size:cover本身不拉伸图片,问题在于容器高度失控;根本原因是父级未设可靠高度(如height/min-height),导致100%高度计算失效或100vh在iOS/安卓中动态变化,进而使cover缩放基准跳变。
-
JavaScript用URL和URLSearchParams接口安全解析、构造URL:URL解析结构化信息,URLSearchParams操作查询参数并自动编码,IE需polyfill。
-
JSDoc通过标注函数、参数及废弃状态,为版本迭代提供文档支持。结合Git与语义化版本,标记@deprecated、@since等注解可明确API变更;配合CHANGELOG和CI流程中ESLint校验,确保文档同步,提升代码可维护性与团队协作效率。
-
动态import()返回Promise,实现运行时异步加载模块,区别于静态import的预加载;当执行到import('./module.js')时才发起请求,结合Webpack或Vite可自动代码分割,生成独立chunk,用于路由级分割、功能懒加载或条件加载,首屏仅加载核心代码,降低初始体积,提升性能,且支持浏览器缓存复用。
-
JavaScript性能优化需针对性干预执行效率、内存占用和主线程阻塞;避免循环中重复DOM访问与计算,缓存变量;合理使用Object.freeze()和const;内存泄漏多源于未清理的事件监听器、定时器和闭包悬空引用,须用ChromeMemory面板对比heapsnapshot确认。
-
通过:hover触发::before的transform实现悬停旋转,首先为::before设置inline-block和transition,再在.icon:hover::before中添加transform:rotate(90deg),即可使前置符号平滑旋转,适用于下拉箭头等交互效果。
-
display:flex能避开幽灵空白,因其切换至弹性盒格式化上下文,使子元素脱离行内流、无视换行/空格及基线对齐机制,从根源上不触发幽灵空白。
-
Vue响应式系统通过重写数组原型的7个变异方法(push、pop等)并手动触发更新来实现响应,因原生方法不触发getter/setter;Vue2用defineProperty补漏,Vue3用Proxy仍需重写原型方法。
-
justify-content:center仅控制主轴(默认水平)居中,垂直居中需配合align-items:center,且父容器须有明确高度(如min-height:100vh),否则无效。
-
transform:translateZ(0)不提升层级,而是创建新层叠上下文,使子元素z-index仅在该上下文中生效,无法与外部元素比较,导致遮挡关系不稳定。
-
color-mix()会自动截断超出范围的颜色值,但无法修复设计逻辑缺陷:LCH的l、c和sRGB分量均被clamp到合法区间,却可能导致静默降饱和或灰蒙蒙效果,且不同浏览器的色域映射策略不同。
-
JavaScript混入(Mixin)非语言原生特性,是通过Object.assign或高阶类工厂模拟多继承的复用模式,不改变继承链,但需注意同名方法覆盖、不可枚举属性遗漏及副作用管理。
-
some比forEach+手动中断更合适,因其天然支持短路:一旦某规则返回true即停止遍历,语义清晰且避免冗余校验;而forEach需抛错或标志位,易出错且可读性差。
-
JavaScript日期对象初始化需注意时区差异和字符串解析歧义,应优先使用数字参数或带时区的ISO格式;获取年月日等值须用getFullYear()等现代方法;格式化推荐toISOString()截取或padStart()补零;加减月份需警惕溢出,建议用专业库处理。