-
计算属性实现动态表单校验的核心是规则与状态分离:规则来自配置,状态驱动响应,校验逻辑只读不写、结果自动更新;支持跨字段联动、动态表单项和单元测试,无需手动触发或第三方库。
-
React中less.modifyVars()基本不生效,因Webpack的less-loader已在构建阶段将Less编译为静态CSS,运行时无变量作用域;应改用CSS自定义属性+Less编译时注入,通过document.documentElement.style.setProperty()动态换肤。
-
命名网格线通过自定义名称提升CSSGrid布局的可读性和维护性。使用方括号为grid-template-columns和grid-template-rows中的网格线命名,如[main-start]1fr[content-end],支持多名称与重复命名。通过grid-column、grid-row或grid-area引用名称定位元素,如.header{grid-column:main-start/main-end;}。实战中构建清晰页面结构,如头部、内容区、侧边栏和页脚,使布局语义化,减少对数字索引的依赖
-
clip属性已废弃,应使用clip-path替代;clip-path支持多边形、圆形等灵活裁剪,兼容性好且语法直观,而clip仅限绝对定位元素、不支持圆角、兼容性差。
-
本文介绍一种轻量级、可自定义的JavaScript方案,用于监听用户页面活动状态,并在连续60秒无任何交互(如鼠标移动、键盘输入、滚动等)时自动执行指定函数,适用于表单超时提醒、会话过期处理等场景。
-
sandbox属性加了即“全锁死”:JS不执行、表单不提交、弹窗失效、localStorage不可读写,仅postMessage可用;须显式添加allow-scripts等白名单token才能放行对应能力。
-
grid-template-areas字符串必须满足三硬条件:每行引号内单词数一致、区域名仅含ASCII字母数字连字符、所有grid-area值均在字符串中显式出现,否则网格退化为单列流。
-
content属性不支持var()函数,仅接受字符串字面量、attr()、counter()和counters();伪元素中使用var(--icon)属语法错误,浏览器会静默忽略或报Invalidpropertyvalue。
-
HTML中meta标签的name与http-equiv属性互斥,必须二选一;viewport等name类需用纯字符串content,description长度限155–160字符且首字母大写无句号,robotscontent仅支持小写预定义指令。
-
浏览器原生:valid/:invalid伪类仅在表单提交或元素失焦时更新,非实时;需通过input事件监听并调用checkValidity()手动触发校验,再用classList.toggle同步状态。
-
Symbol.toStringTag是用于自定义对象在Object.prototype.toString()和调试器中显示类名的内置symbol;可直接赋值、在原型或类getter中定义,Proxy可实现动态标签,但不影响instanceof或typeof。
-
SourceMap是构建时生成的不可替代的JSON映射文件,记录压缩代码与原始源码的行列、文件、标识符对应关系;核心字段包括sources、mappings、names和sourceRoot。
-
aria-current必须用在直接代表当前页面的导航项上,通常是或<button>元素,而非父级<nav>或<ul>;加在<li>或<nav>上属语义错位,屏幕阅读器将忽略或误读。
-
真正可用的骨架屏必须用linear-gradient+background-position动画实现光扫效果,且所有容器需有明确宽高和overflow:hidden;background-position比transform更可靠,因后者在Safari等浏览器中易致边缘发虚、锯齿,而前者不触发重绘、像素精准,且需设background-size大于容器、渐变方向为90deg或toright、多层渐变分离结构与光效,并配overflow:hidden和aspect-ratio防错位。
-
JavaScript代码规范是团队约定的非语法强制性写作习惯,ESLint通过AST静态分析、错误分级、保存即修复和提交前拦截统一风格,而Prettier仅负责排版,ESLint还覆盖语义检查与逻辑风险识别。