-
可通过CSS.registerProperty()或@property注册带类型(如<color>、<length>)的自定义属性,提升样式计算与动画性能;仅类型可插值时才支持transition和@keyframes动画,需确保赋值合法且initial-value合理。
-
Less变量插值在::before和::after的content属性中有效但受限:仅字符串类型变量可安全插值,数值、颜色等非字符串类型会报错;必须用e()或预定义字符串变量拼接,不可在content内运算,且无法替代运行时的attr()函数。
-
html-webpack-plugin的templateParameters仅传递JSON-safe数据,需在模板中显式声明初始化逻辑(如挂载window.__INIT_DATA__),JS插件监听DOM就绪后读取并执行,不可直接传函数或DOM引用。
-
<header>、<nav>、<main>、<article>、<aside>、<footer>是定义页面功能区域的合法语义标签,用于向浏览器、搜索引擎和屏幕阅读器声明内容本质,而非仅控制样式;滥用div或误用这些标签会破坏结构语义、损害可访问性与SEO。
-
可使用reversed属性(HTML5原生)、CSScounter重置与递减、flex-direction+order视觉反转、JavaScript动态注入四种方法实现ol倒序编号,其中reversed最简洁语义化。
-
纯HTML星级评分需用5个同name的radio按钮+对应label,input必须前置且隐藏(clip而非display:none),label紧随其后以支持:checked+label样式联动及可访问性。
-
Chrome提示NotAllowedError的主因是调用getUserMedia时机非法或非安全上下文:须在用户手势同步链中调用,且仅限https/localhost;拒绝后需引导用户手动授予权限;iOSSafari需video标签加playsinline/autoplay/muted并立即play()。
-
:target轮播仅为演示级,因它仅被动响应URL片段变化,缺乏自动播放、循环控制、状态管理及事件监听能力,无法满足生产环境对交互性、稳定性和用户体验的要求。
-
C++的std::thread在WebAssembly中需手动启用线程支持:编译时加-pthread和-sTHREADS=1,JS加载时用WebAssembly.compile/instantiate配合shared内存,并配置CORP/COP头,否则仍为单线程。
-
Flex容器应命名为体现业务职责的block名(如product-grid),而非暴露技术实现的flex-container;项目必须是直接子元素并带完整BEM路径,对齐等布局逻辑直接写在block规则中。
-
弹幕必须用position:absolute脱离文档流,由position:relative的容器包裹;top值需动态计算,滚动用transform:translateX()而非top;顶部/底部弹幕CSS类须分离;JS获取位置应使用getBoundingClientRect()并实时重算。
-
JavaScript字符串比较基于Unicode码点字典序,从左到右逐字符比对;语义化排序应使用localeCompare(),支持多语言和拼音排序。
-
用absolute+负top/right易错位,因负值硬编码且受父容器内边距、缩放、transform等影响;必须给父元素设position:relative,并用transform:translate(50%,-50%)精准锚定右上角,配合z-index≥99和避免overflow:hidden。
-
必须用getBoundingClientRect()计算坐标,因为e.clientX是相对于视口的,而伪元素定位需相对于按钮自身;需用rect.left/rect.top做偏移换算,并为CSS变量显式添加'px'单位,配合transform:translate()和will-change:transform避免重排,且每次点击前须清除旧变量防止动画错乱。
-
CacheAPI只能在ServiceWorker或Worklet线程中使用,页面主线程调用caches.open()会因上下文受限抛出SecurityError或返回undefined;必须通过HTTPS(或localhost)注册ServiceWorker,且所有缓存操作需在install/fetch事件中配合event.waitUntil()和request.clone()等规范写法执行。