每日一面 4
-
【每日一面】盒子模型
基础问答 问题:标准的 CSS 盒子模型是怎样的? 答案:标准盒子模型由内容区域(content)、内边距(padding)、边框(border)和外边距(margin)组成。在 content-box 模式下,width 和 height 属性仅指内容区域的宽度和高度,元素实际占据的宽度 = wi
-
【每日一面】React Hooks 闭包陷阱
基础问答 问题:谈一谈你对 React Hook的闭包陷阱的理解。 产生问题的原因:JavaScript 闭包特性 + Hooks 渲染机制 闭包的本质:函数能够访问其定义时所在的词法作用域,即使函数在作用域外执行,也可以记住定义时的词法作用域的内容,后续执行时,使用这些信息。 function c
-
【每日一面】任意 dom 元素吸顶
简洁版 CSS 只需要使用 css 属性 position: sticky 即可,但是这个属性的使用有很多约束条件,有时可能并不能生效。 JavaScript 这里简化一些代码,使用 React 写了一个 hooks,使用了 ahooks 库去维护 event 和 React 生命周期。 impor
-
【每日一面】获取文字的真实宽度
简洁版 代码如下: /** * 创建用于获取文字宽度的 DOM,全局唯一 * @returns */ const createTextDom = (fontSize?: number): HTMLElement => { let dom = document.getElementById(