-
必须用:nth-of-type()精准选第N个某类标签,因其仅对同标签兄弟独立计数;而:nth-child()按所有子元素位置计数,混排时易失效。
-
消息列表HTML结构必须用<div>而非<ul>,因<ul>易导致滚动定位异常和动态插入重排问题;应使用<divclass="message-list">作容器、<divclass="message-item">作消息项,并确保唯一id及正确滚动控制。
-
transform非none(含translateX(0)、scale(1)等)必触发新堆叠上下文,使内部z-index仅在该上下文中生效,无法与外部元素比较层级;需通过开发者工具验证或移除transform定位问题。
-
快捷键应避免全局监听,仅在非可编辑元素触发;用e.metaKey||e.ctrlKey兼容多平台;面板用inset-inline-end和scrollbar-gutter:stable避开滚动条;动态渲染⌘/Ctrl符号;支持Escape和遮罩层关闭;组合键冲突需依焦点上下文判定优先级。
-
浅拷贝本身不优化响应式性能,真正起效的是shallowRef或shallowReactive:它们仅代理顶层属性,跳过嵌套对象递归代理,减少依赖收集与getter/setter开销,适用于属性面板等“频繁读、极少深层改”场景。
-
全局事件总线易致内存泄漏,须在组件卸载前手动解绑;Vue2用beforeDestroy,Vue3用onBeforeUnmount并保存handler引用;禁用匿名函数;推荐mitt等无副作用库;优先用provide/inject+defineEmits替代跨层级通信。
-
原型链过深本身不会导致前端自动化测试超时,真正原因是原型方法中的重操作、原型链污染引发的隐式等待,以及递归渲染与深层原型调用的连锁反应。
-
JSON.stringify()直接序列化循环引用对象会报错,因JSON标准不支持循环引用;可通过replacer函数跳过、structuredClone克隆、自定义ID映射或服务端引用协议解决。
-
Tailwind内置shadow类无法控制阴影方向,因其固定y偏移为正、x偏移为0;需用shadow-[...]自定义box-shadow值,如shadow-[-10px_0_10px_-2px_rgba(0,0,0,0.1)]实现向左投影。
-
实现响应式卡片布局的关键是使用Flexbox或Grid结合媒体查询。1.Flexbox通过flex-wrap和flex属性实现一维弹性布局,适合简单排列;2.Grid利用grid-template-columns与auto-fit、minmax函数创建自适应二维网格,更灵活高效;3.媒体查询优化不同屏幕下的间距、字体与排列方式;4.图片设为width:100%确保自适应,内容不溢出。推荐优先使用Grid方案,现代浏览器下简洁且适配良好,老旧浏览器可降级使用Flexbox加媒体查询。
-
1006是客户端在TCP连接无声中断且未收到关闭帧时自动生成的占位码,不来自服务端、无reason、日志不可查,根因需结合网络超时、代理静默断连、进程崩溃等上下文排查。
-
ServiceWorker注册失败主因是HTTPS缺失或路径错误;离线打不开HTML几乎必因未判断request.destination==='document'或缓存资源不全。
-
font-size:0能消除缝隙是因为缝隙本质是父容器中被渲染的空格字符,其宽度由父级font-size决定;设为0后空格不占空间,但子元素会继承该值导致文字不可见,因此必须显式重设字号。
-
按钮点击区域偏移主因是absolute定位时未校准padding对热区的影响,应检查定位基准、用transform替代top/left、加outline验证热区,并统一box-sizing:border-box。
-
HTML表格布局性能问题不在于渲染慢,而在于结构绑架导致整表重排、响应式处理低效;CSSGrid初始计算略重但可控,变化边界清晰,语义正确时性能更优。