-
最稳方案是background多层叠加linear-gradient和url();rgba()非图像层会被忽略,须用linear-gradient(rgba(),rgba())伪装颜色层;渐变需写在url前并分设size/position;定向渐变更实用,旧版Safari需-webkit-前缀及角度单位。
-
移动端点击态颜色“溢出”或“缩进”的本质是盒模型边界影响:active作用区域默认为border-box,padding会延展变色范围,margin仅造成视觉偏移;a标签需设display:block/inline-block才能使padding生效;touch-action与足够padding协同保障:active稳定触发。
-
伪元素波纹动画用::after而非::before,因其层叠顺序更靠上且易配合z-index控制;需同时动画transform和opacity,使用MaterialDesign缓动函数;点击坐标需JS动态计算;移动端需添加cursor:pointer、touch-action等兼容样式。
-
现代浏览器不支持JavaApplet,推荐通过JavaScript调用Java后端服务或使用WebAssembly运行Java代码。
-
svg.js加载后SVG变量未定义,因新版本默认不挂载全局,需显式调用SVG()或用ESM导入;插入内联SVG须用SVG().addTo(),且目标容器必须已存在。
-
计算属性比普通方法更高效,因其具备响应式缓存机制——依赖数据未变时直接返回缓存结果,而methods每次调用都重新执行;computed适用于依赖响应式数据的同步派生计算,methods适用于需传参、含副作用或必须每次都执行的场景。
-
AnimationWorklet通过将关键帧计算移至独立线程,避免主线程阻塞,实现60/120fps高性能DOM动画;需注册animator类、绑定KeyframeEffect、仅更新transform/opacity等合成属性,并遵循函数式动画范式。
-
navigator.sendBeacon在页面卸载前同步表单进度可行但不保证送达,需提前防抖快照、转Blob发送,并配合pagehide/visibilitychange事件及服务端去重容忍。
-
ins和del是语义化标签,分别表示插入和删除内容,必须成对闭合、正确嵌套并合理设置display样式;diff转HTML需逐行解析与转义;cite和datetime属性须规范使用以保障可访问性与语义准确性。
-
navigator.connection.type返回值包括bluetooth、cellular、ethernet、wifi、wimax、none、unknown,其中cellular仅表示蜂窝网络,不区分4G/5G;真正可代表4G/5G场景的是effectiveType的"4g"(涵盖LTE/5GSA/NSA高带宽情形),但非制式声明而是基于RTT与吞吐量的估算。
-
address标签专用于标识当前上下文(article或body)的责任归属方联系信息,非泛指物理地址;仅允许phrasingcontent,现代浏览器已移除默认斜体样式,语义正确性取决于作用域匹配而非内容类型。
-
border-dashed类未生效是因为它仅设置边框样式为虚线,不自动启用边框,必须同时指定border-width和border-color才可见。
-
Vue3的reactive对数组本身完全响应,但直接索引赋值(如arr[0]=val)或修改length不触发更新;应使用push、splice等内置方法或嵌套响应式对象。
-
用document.createDocumentFragment()批量插入节点可显著减少重排重绘,因其作为离线容器不触发渲染,仅在一次性插入真实DOM时触发一次layout;误用如反复插入或追加后重插会导致重复开销。
-
Array.prototype.findLastIndex是同步方法,需先异步加载配置数据(如fetchConfigs),再在已排序的数组中按优先级规则(如环境>租户>全局)反向查找首个匹配项;关键在于保证数据就绪与顺序正确,而非让findLastIndex异步化。