前端技术文章
-
CSS动画期间点击失效的根本原因是浏览器事件捕获阶段对元素几何状态的快照滞后,而非CSS禁用交互;需结合animationstart/animationend/animationcancel三事件动态控制pointer-events,并在keyframes中显式声明,辅以will-change、transform替代方案及兼容性容错。481 收藏 -
使用border-radius:50%可将正方形图片变为圆形头像,需设置等宽高、用object-fit或background-size优化显示效果,并注意图片比例与分辨率。481 收藏 -
文章 · 前端 | 2个月前 | 前端 · javascript · 缓存治理 · localStorage · Web性能 · 前端 本地缓存 localStorage 过期时间 版本迁移 异常兜底
本文用搜索筛选条件缓存场景,演示 localStorage 如何封装过期时间、版本号、迁移逻辑和异常兜底,避免旧缓存影响页面状态。480 收藏 -
border-radius对浮动图片完全生效,但需注意父容器overflow设置、图片显式宽高及object-fit行为,否则易因裁剪或渲染时机导致圆角“失效”。480 收藏 -
HTML无法自动命名PDF,浏览器打印时文件名由<title>决定但不可控;JS截图方案(html2canvas+jsPDF)可自定义名称但质量差;服务端生成才是可靠方案,支持真自动命名与语义化PDF。480 收藏 -
JavaScript通过事件循环实现异步处理,先执行同步代码,再优先清空微任务队列,然后执行宏任务,形成“宏任务→所有微任务→下一宏任务”的循环机制。480 收藏 -
SCSS更适合大型前端项目,因其变量作用域可控、@mixin逻辑可封装、编译期行为可预测;变量需显式@use导入防冲突,@mixin支持参数/条件/返回值,嵌套中&精确控制输出,三者共同保障样式长期可维护。480 收藏 -
直接写font-size:1.6rem不够用,因为rem依赖根元素font-size,硬编码导致维护难、换算易错、响应式成本高;需用@base-font-size变量统一基准,并通过.rem()混入安全转换,同时必须同步设置html字号。480 收藏 -
闭包封装Symbol键与操作逻辑,通过初始化函数返回get/set/reset接口,结合globalThis命名空间容器实现隐式、不可枚举、防误触的状态共享。479 收藏 -
navigator.share仅支持Chromium内核浏览器(Chrome76+、Edge79+、SamsungInternet12.2+)和iOS/iPadOSSafari16.4+;Firefox、旧版Safari及桌面Safari不支持,且须HTTPS/localhost安全上下文。479 收藏 -
中间固定、两边自适应的正确写法是左右项设flex:1,中间项设flex:00240px;不能只给中间设flex:00auto,因其仅固定自身宽度,无法驱动两侧伸缩,且父容器必须为display:flex。479 收藏 -
lang属性必须写在<html>标签上才有效,写在<body>或子元素中无效;charset和lang缺一不可,且位置、格式、大小写均影响解析与渲染效果。479 收藏 -
createGain是WebAudioAPI中控制音量最直接的节点,但必须显式连接到音频图谱(如源→gainNode→destination),且gain属性需用setValueAtTime等调度方法避免咔哒声;多音源需独立GainNode,主增益后建议加压缩器防削波。479 收藏 -
CSS-in-JS是组件库开发的刚需,解决样式隔离、主题动态切换、响应式props适配及SSR一致性等核心问题。479 收藏 -
路由守卫无法防止连点跳转,因其在导航发起后才执行;防连点必须前置,在调用router.push前用防抖(如setTimeout+标记位)抑制重复调用,并需处理跳转失败的兜底逻辑。479 收藏