-
IntersectionObserver是检测元素是否进入视口的现代标准方案,需配置threshold、root等参数并配合will-change和class切换实现顺滑渐现动效。
-
打印时动画需用@mediaprint逐项重置:animation-name:none、animation-duration:0s、animation-delay:0s、animation-iteration-count:1、transition:none,并覆盖伪元素及动态类名,确保样式优先级和加载顺序正确。
-
WebComponents中事件穿透需同时设置bubbles:true和composed:true;仅bubbles:true无法突破ShadowDOM边界,composed:true才允许事件抵达lightDOM或外层组件。
-
尾调用优化在ES6中要求尾调用重用当前栈帧,避免栈溢出,适用于函数尾位置直接返回另一函数调用的场景,如尾递归阶乘函数。
-
正确插入网络图片需用完整URL(含https://协议),避免混合内容、缺失alt属性及CORS限制;外链图片存在失效风险,关键内容不宜依赖。
-
opacity渐入渐出不触发,因display:none禁用动画;须用opacity+visibility控制,配合animationend事件清理状态并避免重复触发。
-
能,AbortController可真正中断fetch请求的“等待响应头”和“解析响应体”阶段,但不终止已开始传输的响应流或底层TCP连接;调用abort()后fetchPromise立即以AbortErrorreject,需手动处理已resolve的Response并显式忽略该错误。
-
在Prisma中将对象赋值给JSON列时,TypeScript对interface要求显式索引签名[key:string]:any,而type字面量则天然兼容——这源于二者在结构兼容性检查中的本质差异,理解该机制有助于合理选择类型声明方式。
-
用localStorage实现最近访问菜单需标准化URL(origin+pathname)、限制10条、SPA监听路由变化,点击菜单时先saveToHistory再跳转,避免sessionStorage因关闭丢失且不跨标签页。
-
viewport-fit=cover必须在每个iframe中显式声明,否则env()失效;因WebKit不继承父级配置,iframe需独立设置viewport且容器需100vh/100vw,或改用postMessage动态传递安全距离值。
-
真实阴影效果需多层box-shadow叠加与方向控制:基础态用双层阴影(01px3px0和01px2px-1pxrgba(0,0,0,0.1)),悬停加深并增大blur/spread;padding管内边距,margin或gap管外间距;border-radius推荐8px,适配响应式;避免inset及滥用border。
-
<p>Bootstrap5彻底移除jQuery依赖,基于原生DOMAPI和ES6+类实现组件交互;必须使用data-bs-*属性、bootstrap.bundle.min.js,并在DOM就绪后手动初始化实例。</p>
-
推荐使用基础正则/https?://1+?.(jpg|jpeg|png|gif|webp|svg|bmp|tiff?)(?=\s|$)/gi匹配HTTP(S)图片链接,增强版可扩展支持//协议相对URL和/开头的绝对路径,生产环境优先用DOM解析确保准确。\s↩
-
HTML中用div套div需嵌套标签并配合CSS设置宽高、边框等样式;注意外边距合并、定位脱离文档流、display属性影响及box-sizing盒模型,默认content-box会导致尺寸偏差。
-
HTML本身不支持3D,真正实现靠CSS的perspective、transform-style:preserve-3d和transform系列函数;perspective必须设在父容器上,preserve-3d需作用于变换父元素以保留子元素Z轴坐标,且Z值须在透视范围内才生效。