前端技术文章
-
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 收藏 -
join()方法用于将数组元素连接成字符串,不修改原数组。默认以逗号分隔,可自定义分隔符,空数组返回空字符串,null或undefined转为空字符串。354 收藏 -
用Less变量定义全局box-shadow最稳妥,需加引号并用~@var插值;CSS自定义属性适用于运行时动态场景,二者定位不同,可共存但不自动同步;扩散范围宜用mixin封装,避免硬编码;Less变量无法被JS访问,导出需构建时处理。245 收藏 -
preload仅用于浏览器发现过晚但首屏必需的资源,如CSS中@font-face字体、内联样式中的首屏图片、module脚本依赖的主chunk及Hero区域关键图片;as属性必须准确匹配资源类型,否则降级为普通请求。476 收藏 -
父元素opacity会让子元素发灰,因其作用于整个渲染盒(paintingbox),使文字、图片等所有后代统一变淡;实际透明度为父级×子级乘积,无法用子元素opacity:1恢复;应改用rgba()仅控制背景等指定属性的透明度。202 收藏