JavaScript实现轮播图应采用CSStransition+JS类控制,用transform位移、requestAnimationFrame驱动、克隆图实现无缝循环,并支持触摸拖拽与硬件加速。
overflow:hidden失效的根本原因是Flex子项默认min-width:auto阻止收缩,需设min-width:0解除锁定,再配合width约束和text-overflow等才能生效。
animation-play-state仅控制CSS动画,对JS动画无效;需确认元素有animation属性,可用style.animationPlayState或class切换状态,暂停不重置计时器。
animation-iteration-count:infinite不生效的常见原因包括:未设置animation-duration、@keyframes缺少0%/100%或二者相同、animation-fill-mode未设为forwards/both、animation-play-state:paused或will-change导致异常,以及元素隐藏、JS重置动画或系统偏好reducesmotion。
用@mediaprint写打印样式需在主CSS中直接添加,仅覆盖影响打印的属性:隐藏非内容元素、重置颜色背景、用pt/cm单位、确保链接可读;避免复制整套CSS、误用visibility:hidden、选择器过宽或权重冲突;Chrome/Firefox预览失效常因未启用“背景图形”或未走原生打印流程;无需单独print.css,内联最稳,注意分页控制用break-inside:avoid作用于tr。
Flex布局下input和button高度不一致时,应统一box-sizing:border-box、显式设置line-height、移除button默认border/outline,并用flex:1让input占满剩余空间、align-items:stretch自动拉齐高度。
实现按钮立体感的关键是精准调控box-shadow的x/y偏移、模糊度与扩散值比例:常态微下偏+小扩散,悬停加大模糊并加内阴影提亮,按下则y偏移为负且内阴影加深。
异步生成器通过按需拉取机制解决背压问题,消费者主导数据流速度,避免内存溢出;相比传统事件驱动的“推”模式易导致数据堆积,异步生成器以yield暂停执行,forawait...of循环实现隐式背压,天然防止生产者过载,提升系统稳定性。
直接双击打开index.html会因file://协议限制导致fetch、ServiceWorker、相对路径资源加载失败,页面白屏或样式丢失;必须通过本地HTTP服务器(如VSCodeLiveServer)运行才能正常预览。
JavaScript是单线程语言,依靠事件循环、任务队列和宿主环境(如浏览器或Node.js)的异步能力处理异步操作;微任务(如Promise.then)在宏任务后立即执行,宏任务(如setTimeout)需等待下一轮事件循环;WebWorker可实现多线程但不改变JS单线程本质。
closed模式无法实现真正封装,仅使shadowRoot返回null,却无法阻止调试工具查看、测试框架访问或无障碍检测,且易引发逻辑错乱;可靠封装需依赖open模式下的样式隔离、事件边界与slot分发等主动设计。
event.persisted===true是页面状态需抢救的唯一可信信号;它在pagehide中标识bfcache或冻结,pageshow中需校验该值及localStorage存在性才恢复,且仅同步可序列化字段。
Less运行时主题切换需通过@themesMap+each()生成CSS变量并用.theme-mixin()封装调用,避免多文件维护、变量覆盖及条件分支不可靠问题,构建工具须监听themes.less变更。
backdrop-filter在旧浏览器中不生效是因未实现该特性,需用rgba()降级色并配合@supports检测,同时避免overflow:hidden、添加-webkit前缀及合成层优化。
scroll-padding在固定导航栏下跳转遮挡标题,因其默认作用于根容器且不自动补偿导航栏高度;需在滚动容器设scroll-padding-top(如calc(64px+env(safe-area-inset-top))),动态高度需JS更新;可与scroll-snap-type共用但需注意Safari优先级问题;Safari15.4+存calc+env首次失效bug,Firefox不支持逻辑属性缩写。