-
盒模型默认为content-box,width仅控制content区域,加padding/border会导致总宽度超出预期;应优先检查box-sizing是否生效并统一设为border-box。
-
正确设置position和理解层叠上下文是解决元素遮挡的关键,z-index仅在同层级上下文中生效,需避免跨上下文误用。
-
JavaScript静态方法是直接挂载在类或构造函数上的工具函数,不依赖实例,用static声明且只能通过类名调用,适用于工厂创建、类型校验、配置管理等无状态场景。
-
移动端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实现按压反馈。