-
HTML组件测试实为HTML+CSS+JS构成的可复用UI单元测试,需用Playwright通过getByRole定位、断言状态变化与真实交互反馈,并在真实浏览器中验证动态属性同步与可访问性,而非仅测静态标签。
-
CSS计数器方案可实现无JS行号:用pre+code结构,配合counter-reset、counter-increment及::before伪元素生成行号,兼容IE11+且不影响代码复制。
-
用max-width配合width:100%是控制容器响应式宽度最稳妥的方式,比单纯用width:100%或width:100vw更可靠,尤其在嵌套、缩放、滚动条场景下不容易溢出或错位。
-
优先用XLSX.writeFile或加BOM头的Blob导出CSV,避免手动拼接导致中文乱码、错列等问题;关键点包括添加\uFEFFBOM头、正确转义双引号、过滤隐藏行列、处理iOS降级等。
-
absolute元素用left:50%top:50%偏右下因定位的是左上角;需配合transform:translate(-50%,-50%)反向平移自身宽高50%才能真正居中,且该百分比基于元素自身尺寸。
-
WebSocket需手动实现重连机制,关键包括:onclose须在readyState=0时用addEventListener绑定;采用指数退避(起始1s、倍率1.6、上限30s)并设最大重试次数;结合心跳(25sping/15spong超时)与连接标识防消息混乱;所有send前校验readyState===OPEN且匹配_ws._id。
-
PerformanceMonitor可实时监控JSHeap波动,刷新即显,适合快速排查内存异常增长;它显示可到达对象的堆内存、DOM节点数等四条曲线,但不记录历史或展示引用链。
-
答案:前端权限路由通过用户角色动态生成可访问路由。登录后,后端返回角色权限,前端根据meta字段中的角色信息过滤动态路由,利用router.addRoute注册合法路由,并结合导航守卫控制跳转,确保用户仅能访问授权页面,同时菜单同步渲染,提升安全与体验。
-
使用float可实现图片并排排列,通过float:left或right使图片脱离文档流并靠向指定方向,结合width和margin控制布局,每行显示多图并自动换行;需用overflow:hidden或clear:both清除浮动避免父容器高度塌陷;配合媒体查询实现响应式,在小屏幕下改为堆叠显示以提升可读性。
-
本文详解如何通过JavaScript精确限制缩放/平移图像的可视边界,确保图像边缘始终不超出容器视口,尤其解决高缩放倍率下边界失效的问题。
-
WCAG2.1AA级在A级基础上补足关键可操作性缺口:A级仅保障“能用”(如alt文本、label),AA级强制“好用”,要求错误提示精准关联字段、焦点顺序逻辑连贯、小字号文本对比度≥4.5:1(非肉眼判断)、焦点必须清晰可见且不依赖颜色,并覆盖图标/开关等非文本元素≥3:1对比度。
-
BEM在小项目中不必强制使用,应按复用性判断:仅当组件跨≥2个路由/父组件复用时才启用BEM建模;纯页面独有样式可用单class,工具类与BEM可并存但需分层清晰。
-
“闭包变量提升”并非标准术语,实为混淆变量提升(仅声明阶段预解析)与闭包延长变量生命周期(引用保持导致延迟回收);前端渲染中频繁创建闭包会加重内存压力,需通过编译优化与开发实践协同缓解。
-
border-image配合linear-gradient需正确写法:必须用border-image:linear-gradient(...),设border-width,border-image-slice:1fill,避免百分比和角度单位,并注意Safari≤15.6/Edge≤18不支持,圆角会导致渐变断裂。
-
用getBoundingClientRect()获取元素视口坐标,结合clientX/Y计算鼠标到四边距离并取最小值确定高亮方向,通过CSS变量动态控制border边框样式,配合mouseenter/mouseleave避免冒泡干扰。