-
移动端position:sticky不生效主因是父容器限制或浏览器兼容性问题:iOSSafari15.4+才完整支持overflow非visible祖先内的sticky;AndroidChrome中transform/will-change/filter会禁用sticky;需避免父级overflow:hidden/auto/scroll及硬件加速属性,优先用top:0并配合height/滚动上下文,小屏降级fixed+JS动态适配。
-
display属性无法触发CSStransition动画,因其不支持插值;应改用opacity+visibility组合实现淡入淡出,其中visibility需配step-end确保过渡同步,且transition必须定义在基础类而非切换类中。
-
浮动导致父容器高度塌陷、文字绕排错乱、定位冲突及IE兼容问题,根本原因是脱离文档流;应优先用BFC(如overflow:hidden或display:flow-root)或伪元素清除浮动,避免滥用。
-
JavaScript浮点数计算不精确的根本原因是采用IEEE754双精度格式,导致如0.1+0.2≠0.3;解决方案包括:使用整数运算、toFixed转换、引入decimal.js等高精度库、采用误差容忍比较。
-
语义化标签不可替代div,必须用<header><nav><main>等定义结构;跳过链接须为首个可聚焦元素并指向<main>;ARIA是补丁而非替代,禁用冗余role;动态内容需手动管理焦点。
-
监听video缓冲状态应组合使用waiting(开始缓冲)、playing(缓冲结束)、progress(下载中)事件,并结合buffered属性估算已缓存时间范围;readyState不可直接用于判断缓冲,需以waiting且未暂停为可靠“缓冲中”信号。
-
模板字符串是JavaScript唯一原生支持表达式嵌入、多行书写和结构化插值的字符串语法,用反引号定义,核心价值在于解决拼HTML、SQL、防XSS、i18n、日志格式化等真实痛点。
-
本文详解如何在D3v3甜甜圈图表中正确绑定原始数据,确保mouseEnter回调中d.data可正常访问,避免依赖不稳定的explicitOriginalTarget.__data__,从而为Tooltip提供可靠的数据支撑。
-
使用Flexbox可通过justify-content和align-items实现多列文本居中:1.justify-content:center使列在主轴水平居中;2.align-items:center在交叉轴垂直居中;3.配合text-align:center使文本自身居中,需设置容器高度与gap间距,适用于多列布局且整体对齐效果直观灵活。
-
JavaScript数组方法可高效处理数据操作。1.改变原数组的方法如push、pop、unshift、shift和splice用于增删元素;2.不修改原数组的map、filter、forEach和slice适用于遍历与转换;3.find、findIndex、includes和indexOf用于查找与判断;4.reduce、some和every支持聚合操作,实现统计与条件检测。掌握这些方法能显著提升代码效率与可读性。
-
卡片高度不一致的根本原因是内容结构不统一,包括标题行数、段落长短、图片尺寸和按钮文字长度差异;应通过grid-template-rows+minmax()锁定内容区域最小高度,并在HTML层面统一图片容器、标题行数、摘要行数及按钮文案,辅以flex下height:0;min-height:100%等高技巧。
-
hover动画卡顿或跳变是因未在常态规则中正确声明transition;需指定可过渡属性、合理时长(0.1s–0.3s)和缓动函数,并避免用all或不可过渡属性;移动端应改用:active或JS实现按压反馈。
-
margin四边顺序为上右下左(顺时针),缩写支持1~4值:1值全同,2值为上下/左右,3值为上/左右/下,4值即顺时针;负值可行但易致重叠或裁剪;垂直外边距会合并;行内元素不响应上下margin;margin:auto居中需块级+定宽;box-sizing:border-box使width包含padding和border,margin始终在外。
-
JavaScript国际化API由Intl对象提供,包含DateTimeFormat、NumberFormat、RelativeTimeFormat、Collator和ListFormat五个构造器,依据语言标签自动适配日期、数字、相对时间、字符串排序和列表格式,但不处理文本翻译。
-
应引入UI组件库,当反复重写DatePicker等交互组件时;AntDesign更适中后台,因其Form/Table/a11y支持更完善;SSR支持仅在Nuxt/Next等场景必要;自研仅当设计约束不可配、专人维护、5+高频组件跨业务复用时才合理。