-
使用style.cssText一次性写入多条CSS声明可减少重排次数、提升性能,但会清空原有内联样式;安全叠加需用+=并前置分号兼容旧IE;推荐优先使用classList或封装工具函数。414 收藏 -
内联缓存(IC)通过缓存属性查找结果并比对隐藏类实现提速,而非多存数据;其性能取决于对象结构是否统一,单态时最快,多态次之,超态则退化为慢路径。286 收藏 -
正确做法是用position:absolute;left:-9999px视觉隐藏文件输入框以保留可交互性,再通过按钮点击事件同步调用其click()方法触发选择对话框,并监听change事件获取FileList。430 收藏 -
移动端进度条应使用transform:scaleX()替代width+transition,因其不触发重排、GPU加速更稳;需配合requestAnimationFrame、分段更新、防抖及老安卓兜底方案。167 收藏 -
合并表格单元格本质是定义矩形区域起点,后续行td数量须动态减去被colspan/rowspan占用的列数,否则引发结构错误而非渲染异常。491 收藏 -
:focus-within生效需父元素可聚焦(如form或tabindex="-1"),否则不触发;高亮错位需统一box-sizing:border-box;鼠标点击不触发需检查focus事件冒泡;Safari旧版需JSfallback监听focusin。249 收藏 -
快速排序的核心逻辑是分治+原地分区:每次选pivot将数组划分为小于、等于、大于三部分,用双指针原地交换实现O(logn)空间复杂度。434 收藏 -
根本原因是未处理初始渲染时机、变量作用域和样式优先级三处硬伤:媒体查询异步导致闪屏;:root变量无法被媒体查询动态回写需重置并加fallback;第三方组件需用[data-theme="dark"]强制接管并提升选择器优先级。432 收藏 -
JavaScript代码分割是借助Webpack、Vite等工具和import()动态导入,将大文件按需拆分为小chunk以优化加载。常见方式包括路由级分割、公共依赖提取(如splitChunks)、条件性功能加载,核心好处是提升首屏速度、缓存效率、内存占用及团队协作。218 收藏 -
★和☆是最简星评方案,需UTF-8声明、CSS控色与大小,仅支持整数分,IE8/XP可能失效,JS动态生成宜用数字实体防编码问题。358 收藏 -
<wbr>需在容器宽度不足且存在语义分隔点时才生效,必须配合max-width、white-space:normal和overflow-wrap:break-word等CSS,避免word-break:break-all;应插在URL、驼峰命名、邮箱等天然断点处,禁插单词或数字中间。140 收藏 -
JavaScript国际化靠Intl对象统一处理本地化细节,而非手动条件判断;Intl.DateTimeFormat、NumberFormat、Collator分别管控日期格式、数字货币格式、多语言排序,需正确使用BCP47locale和options,并注意兼容性与性能优化。438 收藏 -
pointer-events:none是子元素点击失效的首要原因,可能来自祖先元素继承;z-index无效因未定位;Flex拉伸导致热区错位;兄弟元素触发层叠上下文造成覆盖。161 收藏 -
CSStransition仅对可计算、可插值属性生效,如opacity、transform、background-color等;display、height:auto、position:static等无效;需初始化显式值、正确声明transition位置,并优先使用transform和opacity以避免重排。150 收藏 -
CanvasRenderingContext2D实现像素级绘制需四步:适配设备像素比、全量或脏矩形清除、确保资源加载完成、用requestAnimationFrame驱动动画,缺一不可。411 收藏