-
Group-hover为什么必须配合group类使用直接写group-hover:xxx没效果,是因为Tailwind的group-hover是一个“依赖类”——它只在父元素有group类时才生效。没有group,group-hover根本不会被编译进CSS。错误写法:文字→完全无效正确结构:文字group必须加在触发hover的祖先容器上(不一定是直接父级,但必须是DOM上层)子元素hover状态下修改父级以外的兄弟元素常见需求:鼠标悬停在
-
虚拟DOM和响应式系统是现代JavaScript框架的核心。答案:通过JS对象模拟DOM并结合数据监听实现自动更新。用VNode描述UI结构,避免频繁操作真实DOM;利用Object.defineProperty或Proxy监听数据变化,在getter中收集依赖,setter中触发更新;状态变化时重新生成VNode,通过diff算法比对新旧节点,最小化更新真实DOM;结合二者可实现“数据变→视图更新”的闭环,构成Vue、React等框架基础。
-
使用组合选择器和BEM命名规范可有效避免CSS嵌套样式污染,通过提升特异性和作用域隔离,确保组件样式互不干扰。
-
clearTimeout用于取消未执行的setTimeout定时器,需传入其返回的timerID;未保存ID则无法取消,重复调用或传入无效值均无效果但不报错。
-
:nth-child(2n+1)按父元素所有子元素序号选中奇数位置元素,不区分标签类型;若存在其他节点(如div、注释或空白文本节点),则实际li的序号偏移,导致视觉奇数项未被选中。
-
jQuery已非新项目必需,因现代浏览器原生API成熟、主流框架减少DOM操作、体积负担与维护成本高;仅老系统、特定插件依赖或极简静态页等场景暂难替代。
-
flex-grow无法直接过渡,因其为非数值型计算属性,无中间状态;应改用flex-basis、width或max-width等可动画数值属性配合transition实现平滑伸缩。
-
JavaScript内存泄漏常见于全局变量、定时器、事件监听、闭包和DOM引用未清理,可通过ChromeDevTools的Memory和Performance面板检测,并用WeakMap/WeakSet优化引用管理。
-
本文详解jQuery中因容器与可克隆元素混淆导致的“点击一次添加多行”异常现象,指出根本原因是.bulk:first克隆了包含所有历史副本的整个容器,而非单个模板行,并提供结构分离、事件委托及无ID优雅方案。
-
font-display必须显式设为swap以避免首屏白屏,它用系统字体先渲染再替换;preload字体需加crossorigin、as="font"和type;只用woff2格式;启用font-optical-sizing:auto提升可读性。
-
flex-wrap:wrap可使Flex子元素在空间不足时自动换行。默认nowrap不换行,wrap允许换行且新行在下方,wrap-reverse新行在上方。结合justify-content控制行内对齐,align-content控制多行垂直分布,并可通过flex和gap实现响应式布局。
-
隔行变色可用nth-child(odd/even)实现,兼容IE9+;需注意其按父元素所有子元素排序,混用标签时建议限定范围或改用nth-of-type。
-
width未生效的首要原因是display类型不支持,如inline元素无视width;其次box-sizing影响宽高计算范围;最后父容器的布局模式(如flex、浮动、定位)会覆盖子元素width设置。
-
可以在子类静态方法中用super.方法名()调用父类静态方法,super此时是编译期确定的父类类名别名,直接定位父类静态成员,等价于ParentClass.方法名(),且this指向当前子类。
-
v-once是Vue中让元素或组件仅渲染一次、跳过后续响应式更新的性能优化指令;适用于初始化后永不变化的静态内容,如版权信息、固定文案、不可变字段等,但不可用于需响应式更新的区域。