前端技术文章
-
路由平滑降级是前端针对低端设备优化跳转体验的实践策略:当检测到设备性能不足(如dpr<2、并发核数≤2、FPS<45或FCP>1800ms)时,自动降级为淡入、无动画等轻量过渡方式,保障响应速度与稳定性。262 收藏 -
sub标签是唯一推荐方式,因其直接表达下标语义,确保浏览器、屏幕阅读器和搜索引擎正确解析;而vertical-align等CSS模拟方式会导致偏移不稳、可访问性缺失、PDF导出失效及CMS过滤等问题。452 收藏 -
conic-gradient绘制饼图需注意角度基准(0deg在正右)、兼容性限制(IE/旧Safari不支持)、动态更新应使用CSS自定义属性而非拼接字符串、交互叠加需额外定位避免错位。288 收藏 -
.progress和.progress-bar高度必须同步设置,否则会导致裁切、圆角错位或文字偏移;还需同步调整line-height和background-size,并避免使用已移除的Bootstrap4类名。257 收藏 -
移动端Flex布局异常时应优先用媒体查询切换flex-direction为column。常见场景包括按钮重叠、卡片文字过窄、表单错位等;推荐断点max-width:768px,并配合align-items、justify-content、width等属性优化,真机测试必不可少。118 收藏 -
必须将<metacharset="UTF-8">置于<head>开头、<title>之前;HTML文件须为UTF-8无BOM编码;HTTP响应头Content-Type也需设为charset=utf-8,三者缺一即可能导致中文乱码。299 收藏 -
JavaScript的try...catch用于捕获同步运行时错误,防止脚本崩溃;支持catch捕获Error对象并推荐用message属性,finally确保清理代码执行;但无法捕获异步错误,需在回调或Promise中单独处理。406 收藏 -
Store基类通过Object.defineProperty统一定义响应式访问器,setter嵌入queueMicrotask实现微任务通知,getter支持缓存与校验;用Symbol和WeakMap保障状态隔离与订阅安全,并预留_onStateChange等钩子供子类扩展。174 收藏 -
JavaScript包管理器是现代前端和Node.js开发的基础设施,解决自动下载复用、依赖关系自管理、环境一致性保障三大问题;npm开箱即用,yarn更稳更快,两者命令对应、切换成本低。152 收藏 -
:root伪类用于定义全局CSS变量,如颜色、字体等,便于维护和复用;通过var()调用变量,结合JavaScript可实现主题切换,如暗色模式;在媒体查询中重定义:root变量可实现响应式设计,提升项目可扩展性。363 收藏 -
TailwindCSSv3构建更快的核心是JIT将“全量扫描+预生成”改为“按需扫描+实时生成”,仅解析content路径中静态出现的类名,省去I/O、正则匹配与字符串拼接开销;v2的AOT则硬编码输出约6000行工具类。141 收藏 -
flex元素右侧堆叠的本质是「剩余空间左对齐」,通过给目标元素设margin-left:auto实现,它仅作用于指定元素且需父容器为flex布局;多个右对齐元素应只给首个加该样式,其余自然跟随排列。274 收藏 -
应使用语义化<table>结构实现收支明细列表,配合datetime属性、.income/.expense类名、右对齐金额、纯文本符号(如-¥120.00),移动端用CSS媒体查询转为垂直dl布局,并确保导出与可访问性兼容。135 收藏 -
confirm()是最轻量确认方案但会阻塞JS,正确做法是onclick中先confirm再调用删除函数;现代项目应自定义弹窗并确保点击确认才触发删除;服务端必须校验权限、归属及记录日志;删除后需及时更新DOM状态并处理失败反馈。356 收藏 -
code标签仅提供语义标识,不保留格式;多行代码必须嵌套在pre中,二者分工明确:pre保留空白符,code声明代码语义,且HTML字符需转义。474 收藏