-
浮动元素脱离文档流会导致margin-top失效和父容器高度塌陷,需通过clear或BFC清除浮动;浮动后margin不再合并,横向布局时需注意总宽度与box-sizing设置,避免换行或margin失效。
-
怎么用:hover:focus这些伪类配合CSS变量改颜色直接改伪类里的color或background-color当然可以,但一旦状态多(比如:hover、:focus、:active、:disabled),又想统一换主题色,硬写四遍颜色值就容易漏改、难维护。正确做法是把颜色抽成变量,在伪类里只覆盖变量值::root{--btn-bg:#007bff;--btn-bg-hover:#0056b3;--btn-bg-active:#004085;}.btn
-
最可控的故障风效果需用canvas分通道错位:对图像下部30%区域,红/绿/蓝通道分别水平偏移+3~+8px/0/-2~-6px,配合Math.random()>0.97触发、单次≤4帧、间隔恢复。
-
回调地狱指多层嵌套异步回调导致代码难读难维护,如连续readFile嵌套;可用Promise链式调用、async/await、函数拆分与守卫语句优化。
-
JavaScript类型转换核心在于隐式与显式转换的时机及规则:==会隐式转换导致陷阱,+、if等操作触发隐式转换;显式转换推荐String()、Number()、Boolean();parseInt需指定进制防坑;对象转换遵循Symbol.toPrimitive→toString→valueOf顺序。
-
margin:auto水平居中需满足两个前提:元素为块级(display:block)且设置了明确宽度;否则对内联、浮动、绝对定位元素或无宽元素无效。
-
掌握JavaScript执行上下文与词法环境能准确预测代码行为,解决闭包、变量提升和作用域等问题;理解创建与执行阶段差异可解释var、let/const不同表现;明晰词法环境链有助于调试变量查找与闭包捕获;正确使用块级作用域和异步回调,避免内存泄漏与数据错乱,提升代码稳定性与可维护性。
-
HTML5无法真正降噪,因canvas仅支持8-bit整数运算、缺乏频域处理能力且性能受限;轻量方案可用blur+unsharp-mask或3×3均值滤波,真实需求应交由后端或OpenCV.js处理。
-
AMD采用异步预加载,依赖前置;CMD支持懒加载,依赖就近书写;前者适合模块独立应用,后者适应动态依赖场景,两者均用于浏览器端模块化,现多被ES6模块取代。
-
获取页面滚动位置主要用window.scrollY和scrollX或兼容写法。通过getScrollTop()和getScrollLeft()函数可获取垂直和水平滚动距离,结合onscroll事件实时监听,用于显示回到顶部按钮或判断是否滚动到底部实现无限加载,需注意兼容性与性能优化。
-
伪元素必须配合content属性使用,否则不渲染;content可取空字符串、文本、attr()值等,但attr()不支持表达式且大小写敏感;伪元素定位依赖父元素position,不可直接交互或被读屏软件识别。
-
font-size决定文字基础大小,单位选择直接影响响应性:px锁定尺寸不利缩放,em易因嵌套失控,rem基于根元素更可控,推荐用于移动端;clamp()实现流体字号但Safari13.1+才完全支持;font-family、line-height、vertical-align等共同影响实际渲染效果。
-
JavaScript有7种原始类型(undefined、null、boolean、number、string、symbol、bigint)和1种对象类型;function本质是object,数组等引用类型均属object范畴。
-
应建立语义化颜色变量体系,如--color-warning、--color-success等,替代--yellow-500等视觉命名;支持深色/高对比度模式响应式切换;统一应用于各组件并保持感知一致;须满足WCAG对比度要求且辅以图标或文字确保无障碍。
-
用display:flex替代float解决图文对齐问题,配合align-items:flex-start、flex-shrink:0、margin-left间距及min-width:0防溢出;高亮需用带\b边界的转义正则;class遵循BEM规范;调试时注意样式层叠与渲染优先级。