-
纯CSS实现导航栏滑动下划线需用::after伪元素+transform+transition,设a为position:relative,伪元素初始width:0、translateX()定位,过渡写在伪元素上;JS版则需用getBoundingClientRect动态计算激活项位置并更新下划线。
-
Bootstrap网格嵌套时子行不占满父列宽度,是因为.row默认有±15px外边距,而父.col-未设position:relative或overflow:hidden来截断;必须严格遵循“列→行→列”结构,且父列须为.col-类、子.row须直接子元素于该列。
-
用CSS@keyframes实现气泡上升动画需定义位移、缩放与透明度变化,配合position:absolute、transform:translateY()及animation-delay错峰触发,推荐伪元素+自定义类控制延迟与渐变效果。
-
currentColor是CSS关键字,可继承父元素文本颜色,通过设置svg{fill:currentColor}或在SVG中使用fill="currentColor",使图标颜色随文字颜色自动同步,例如按钮文字变色时图标颜色也随之改变,无需额外代码。
-
z-index可用CSS变量但仅限静态数值,因不支持表达式或单位;需配合position才生效,且变量不创建层叠上下文;推荐分层定义基础值并避免嵌套calc。
-
localStorage需监听input事件实时保存,对象须JSON.stringify/parse,DOM就绪后回填并区分控件类型赋值,主动探测可用性并降级至sessionStorage,防抖300–500ms,提交或手动清空时及时删除。
-
合理设置CSS中的padding能提升文本可读性与布局美观,避免内容拥挤或松散。通过适配设备屏幕、结合line-height与margin优化间距,使用相对单位和自定义属性统一管理,实现响应式排版。
-
HTML本身不提供手势识别能力,所有手势逻辑均需JavaScript基于touchstart/touchmove/touchend事件手动实现,通过坐标差值、时间阈值和preventDefault()控制判断滑动等行为。
-
子元素跨多行导致布局错乱,通常因grid-row-start与grid-row-end设置不当或与其他项冲突。应明确指定起止行号如grid-row:2/4,避免span过大溢出;在容器中使用grid-template-rows定义固定行轨道,防止隐式生成造成偏移;多个元素勿占用相同区域,可用outline调试重叠;通过grid-auto-flow:dense填补空隙,但建议对所有跨行元素显式定位。精准控制行跨度、预留空间、避免重叠是关键。
-
Array.prototype.at()是ES2022引入的安全访问数组元素方法,支持负数索引(如-1表示末尾),越界返回undefined而不报错,比arr[arr.length-1]更简洁安全,现代浏览器及Node.js16.6+原生支持。
-
直接用::before和::after写tooltip易错位,因top/left等定位值未与方向解耦,硬编码导致改方向需手动调所有偏移;正确做法是用Lessmixin封装方向参数,通过条件分支控制transform、margin及border组合,并确保父容器设position:relative。
-
根本原因是float和absolute布局天生不支持等高对齐,只有Flex或Grid能通过align-items:stretch实现自动等高;float需BFC撑父容器但侧边栏仍不拉伸,absolute则完全脱离尺寸联动。
-
浏览器原生ReadableStream读HTML易因编码、分块边界、标签截断出错;需用TextDecoderStream解码,htmlparser2流式解析更稳,DOMParser需完整字符串;HTMLStream非标准API,普通网页须自建TransformStream实现流式处理。
-
MediaQueryList接口是媒体查询响应式核心,window.matchMedia()仅是创建其实例的工厂函数;它提供matches属性和addEventListener()方法实现状态监听,需手动检查初始状态且注意语法正确性。
-
最常见的原因是页面未获焦点或监听绑定在非可聚焦元素上;需将监听挂载到document、为canvas设tabindex="0"并调用focus(),谨慎使用preventDefault(),移动端需监听resize/focusin并禁用缩放。