前端技术文章
-
String.fromCodePoint()仅将码点转为字符,不处理Emoji组合逻辑;复杂Emoji如??是基础字符+ZWJ(U+200D)+修饰符等按规则拼接的序列,需手动传入全部码点生成。169 收藏 -
JavaScript错误处理需结合try-catch捕获同步异常,async/await或Promise.catch处理异步错误,配合window.onerror和unhandledrejection全局监听,并通过自定义错误类型提升可维护性。253 收藏 -
Object.prototype.toString是最可靠、跨环境的类型检测方式,能精准区分内置对象类型;typeof对引用类型返回"object"无法细粒度区分,instanceof在多全局环境失效;需用call/apply绑定目标值,封装为getType可提取类型标识符,支持ES6+新类型及Symbol.toStringTag自定义。231 收藏 -
Chrome110及更早版本完全不支持popover属性,该属性首次实现在Chromium114(2023年5月底),此前解析时静默忽略,JS调用showPopover()会报错,且无对应实验标志可启用。131 收藏 -
CSS变量在JS中通过style.setProperty()修改、getComputedStyle().getPropertyValue()读取,需注意拼写、作用域、优先级及SSR/CSR时机;color-mix()不可在JS调用,hsl()可字符串生成;暗色模式闪动应预设data-theme并过渡具体属性。445 收藏 -
表单根元素不应承担样式职责,所有视觉逻辑必须下沉到带业务语义的独立字段block(如field-email)中,以保障校验精准性、复用性、无障碍支持及移动端兼容性。153 收藏 -
长按事件不能直接用ontouchstart+setTimeout,因移动端默认行为干预、touchend不可靠及误判风险;需结合touchmove位移判断、getBoundingClientRect定位菜单、role属性提升可访问性,并务必处理touchcancel清理定时器。118 收藏 -
download属性在EdgeLegacy中对PDF无效,因其PDF引擎强制内嵌打开且未实现该属性;唯一可靠方案是后端设置Content-Disposition:attachment响应头。431 收藏 -
top不生效90%因position为static;需显式设relative/absolute,注意flex/grid对齐覆盖、transform创建新层叠上下文及dialog需手动设position。426 收藏 -
style-loader必须在css-loader右侧,因Webpackuse数组从右向左执行:css-loader先解析CSS为JS模块,style-loader再注入到head;顺序颠倒会报错。463 收藏 -
不能只改后缀,因SCSS解析器更严格:需同步更新文件后缀、引用路径及做最小语法适配,否则易致编译失败或样式失效。455 收藏 -
BigInt除法不支持小数结果,必须转字符串后手动插入小数点或用BCMath缩放;前端展示需避免Number转换以防精度丢失,后端应始终以字符串接收并处理原始余额。440 收藏 -
静态场景优先用#FF5733等6位HEX,体积小、解析快、兼容好;动态调色用rgba()便于JS运算;HSL适合可预测的明暗饱和度调整,三者应按需混用避免压缩失效。145 收藏 -
响应式栅格系统由container-row-col三层结构、百分比宽度、媒体查询协同实现;列宽用百分比(如25%)确保相对缩放,配合box-sizing:border-box防溢出,flex布局比浮动更可靠,断点应遵循移动优先原则用min-width定义。111 收藏 -
用cubic-bezier(0.68,-0.55,0.27,1.55)可实现可控弹性动画,其负y1值制造初始下拉,超1的y2值产生回弹,配合单次scale关键帧与0.4s–0.8s时长达成自然效果。461 收藏