-
脱离文档流的absolute元素需父容器设relative作为定位参照,否则相对视口定位易错乱;relative保留占位仅视觉偏移,适合局部调整;transform更安全用于微调与居中。
-
JavaScript无真正反射API,仅通过Object方法、Proxy、Reflect等实现有限元编程;Reflect是Object方法的函数式封装,不提供新能力;读写元信息需结合getOwnPropertyDescriptor与Proxy。
-
HTML表格内容居中可通过五种方法实现:一、传统align/valign属性;二、CSStext-align/vertical-align;三、CSS类统一控制;四、Flexbox布局(display:flex;justify-content/align-items);五、Grid布局(display:grid;place-items:center)。
-
答案:构建高效JavaScriptCI流程需选择合适工具如GitHubActions,配置包含代码检出、依赖安装、格式检查、测试与构建的自动化工作流,分层执行单元、组件和端到端测试并设置覆盖率阈值,通过环境隔离与版本记录实现可追溯部署,结合缓存、并行任务和矩阵策略优化效率,关键在于持续严格执行以保障代码质量与交付可靠性。
-
伪元素默认为inline,不支持宽高及上下margin,需设display:block或inline-block才生效;content属性必不可少;定位时需配合position且父元素设relative;还需排查overflow、样式覆盖及透明度干扰。
-
应使用<mark>标记当前上下文中具有相关性或需视觉突出的文本,如搜索关键词、引用条款;它专为“高亮”设计,语义区别于强调重要性的<strong>和无语义的<span>。
-
box-sizing属性控制width/height是否包含padding和border,默认content-box,设为border-box则总宽固定;老项目在Chrome中“变窄”实为未重置box-sizing导致跨浏览器不一致。
-
核心Web指标(LCP、FID、CLS)是衡量用户体验的关键,通过JavaScript使用web-vitals库采集,结合PerformanceAPI,在页面生命周期中监听并上报数据;针对SPA需注意路由变化时的重新监听,利用navigator.sendBeacon确保卸载前可靠发送;后端接收后存储于时序数据库,按百分位数(如P75)、维度(设备、页面等)聚合分析,通过Grafana等工具可视化趋势与分布,设置警报机制,驱动性能优化闭环。
-
使用position:sticky可实现表头吸顶,需设置thead中的tr或th的top值,确保父容器无overflow:hidden,配合z-index和背景色保证视觉效果。
-
JavaScript动画核心是requestAnimationFrame实现60fps平滑更新,优先改transform/opacity触发GPU加速,封装play/pause/seek方法控制状态,配合anime.js等轻量库按需使用。
-
Canvas绘图完全依赖JavaScript控制,需先获取2d或webgl上下文并确认可用性,再通过ctx方法绘制图形、实现动画和响应交互。
-
line-height是CSS属性,非HTML5原生属性;其推荐值为无单位数字(如1.5),可继承且不二次缩放;length(如20px)和percentage(如150%)易导致嵌套异常或视觉拥挤。
-
使用CSSModule可解决大型前端项目中CSS类名冲突问题。首先在webpack.config.js中启用modules配置并设置localIdentName;接着将样式文件重命名为*.module.css格式,并通过import导入生成局部类名映射;然后在TypeScript项目中创建.d.ts声明文件以支持CSS模块类型;最后结合sass-loader配置处理.module.scss文件,实现Sass特性与模块化共存,确保样式的隔离性与可维护性。
-
Promise是JavaScript处理异步操作的标准对象,代表未来完成或失败的操作,具有pending、fulfilled、rejected三种不可逆状态,支持链式调用与错误传递,并提供Promise.all()、race()、allSettled()等静态方法协调多个异步任务。
-
组合式API通过自定义Hook实现逻辑复用,如useWindowSize管理窗口尺寸、useValidation处理表单校验,并结合provide/inject共享状态,提升代码内聚性与可维护性。