-
String.prototype.normalize()是解决Unicode等价性问题的核心方法,支持NFC、NFD、NFKC、NFKD四种标准化形式,分别适用于显示存储、底层处理、搜索匹配和文本清洗,但不处理简繁体等非等价字符。
-
HTML列表嵌套必须将子列表(ul/ol)完整置于li标签内,否则浏览器会自动拆分为并列列表而非嵌套结构;错误写法如<ul><li>项</li><ol><li>子项</li></ol></ul>会被解析为两个独立列表。
-
Tailwind中extend.spacing不继承默认值,仅合并新增键,会导致未声明的mt-4等类彻底消失;正确做法是用theme.spacing完整重写或确保extend包含全部所需键。
-
手风琴边框由CSS控制,非HTML或属性开关决定;需对容器如.accordion-item设border及overflow:hidden配对border-radius;无边框应通过间距、背景色、阴影等替代,避免粘连。
-
传统<link>标签在SPA中易导致全局样式污染、维护困难、死代码堆积、加载性能差和封装性缺失,难以适应组件化开发。现代方案通过构建工具将CSS模块化,如CSSModules实现局部作用域和按需加载,CSS-in-JS支持动态样式与逻辑共存,Tailwind提供原子类快速开发,Sass/Less增强可维护性。选择方案需权衡项目规模、团队习惯、动态需求、性能与可维护性,结合Webpack或Vite实现打包优化。优化后可显著提升首屏速度、减少资源体积、实现精准缓存、降低布局抖动,最终增强用户体验。
-
HTML无法直接显示密钥最后使用时间,因该字段仅存于后端数据库或密钥管理系统;前端需通过fetch调用后端API获取并安全渲染,严禁硬编码或使用innerHTML,且不得缓存至localStorage/sessionStorage。
-
应优先使用功能检测而非解析userAgent,仅在必要时谨慎解析并交叉验证;Chrome/Edge/Firefox/Safari版本提取需按优先级顺序正则匹配,并结合navigator.vendor/product辅助验证。
-
HTML5播放卡顿与html5play函数名无关,根源在于媒体加载、解码、渲染链路及调用时机;需检查preload设置、用户手势触发、seek事件监听、服务端Range支持及硬件适配。
-
mix-blend-mode在IE和旧版Safari中不支持,连前缀也无效;应使用@supports检测并仅对Chrome41+、Firefox32+、Safari8+/iOS9.3+启用,且不可用于关键视觉信息。
-
关键是从静态到交互只需用hover和transition重新组织CSS属性:hover定义悬停状态,transition控制变化过程,二者缺一不可;需在默认状态写transition、hover中改对应属性,推荐从按钮练习,注意属性匹配、过渡时间(0.2–0.35s最佳)及触屏兼容性。
-
PointerEvents统一处理三类设备需围绕指针类型判断、默认行为干预、采样精度控制和降级策略四点展开:区分pointerType调用preventDefault();仅在交互容器设touch-action:none;压感笔必用getCoalescedEvents()补帧;监听pointercancel并处理多点与拖拽逻辑;降级需特征检测而非仅依赖polyfill。
-
dialog元素默认不渲染,需调用showModal()或show()激活;open属性仅初始化可见但非模态;showModal()启用完整模态链路,show()仅显示浮动层;点击遮罩关闭需兼容Safari坐标判断;method="dialog"表单提交后需手动管理焦点与returnValue兼容性。
-
Less的color()函数仅用于解析颜色字符串,不能生成颜色梯度;应使用hsl()、lighten()等函数配合递归mixin实现色相渐变。
-
JavaScript默认参数是在函数定义时为形参指定的初始值,仅当调用时传入undefined才生效;支持表达式、函数调用及前置参数引用,且每次调用重新求值。
-
必须用event.waitUntil(),否则浏览器可能在清理完成前终止ServiceWorker,导致旧缓存残留;它需包裹caches.keys()和所有caches.delete()的完整异步链,确保原子性清理。