-
圣杯布局浮动实现必须用负边距,因浮动元素脱离文档流,中间区设width:100%会被左右栏挤出视口;负边距使中间区预留空间并“拉回”左右栏,结构须为main→left→right,父容器需padding和BFC触发。
-
在Nuxt中,dev属性由CLI命令自动设定(nuxt命令设为true,nuxtbuild设为false),无需手动配置;可通过读取process.env.NODE_ENV安全、可靠地复用该状态来驱动其他配置项。
-
FileReader必须由用户触发(如input[type=file]的change事件)且异步使用,不能自动读取或同步获取结果;需通过event.target.files[0]获取File实例,监听onload/onerror处理结果,每次读取需新建实例。
-
要让::after伪元素始终贴文字底部不动,须设父元素position:relative,::after设position:absolute;bottom:0;left:0;height:2px;bottom:-1px微调对齐,并在默认状态声明width:0和transition:width.3sease。
-
本文详解React组件中因错误使用单引号而非模板字符串(反引号)而导致动态插值失效的问题,并提供修复方案、原理说明及开发注意事项。
-
float元素不能用margin:auto垂直居中,因其脱离文档流,而margin:auto垂直生效需元素处于正常流且有明确宽度;水平居中有效是因浮动后行框内联上下文的特殊计算,但垂直方向margin被忽略。
-
全屏元素应设display:block或flex、position:fixed并绑定top/left/width/height,:fullscreen中显式声明box-sizing:border-box,移动端优先用webkit-playsinline模拟全屏。
-
面板根元素用panel,子元素统一为panel__header/body/footer;状态用panel--collapsed,尺寸修饰符需成套作用于各子元素,body需设flex:1和min-height:0防塌陷。
-
必须用<nav>包裹导航结构,内部推荐<ul><li><a>,单链接也需<nav>;路径依部署方式选绝对或相对;下拉菜单须用<button>+ARIA属性;固定定位导航应设<body>padding-top而非内容margin-top。
-
现代项目中禁用CSS@import拆文件,因其串行加载、引发FOUC;应改用构建工具的import+CSS提取机制实现按需加载、作用域隔离与缓存优化。
-
纯函数指相同输入始终返回相同输出且无副作用的函数,如add(a,b);柯里化是将多参数函数转化为单参数函数链的技术,如curriedMultiply(2)(3)(4),两者提升代码可维护性与复用性。
-
加transform:translateY(-2px)更顺,因其触发硬件加速交由GPU处理;而top改变布局需重排,易卡顿。
-
最常用可靠的方式是父级类名配合后代选择器:用空格匹配所有子孙,用>匹配直接子元素;多状态组合需类名叠加;注意类名拼写、避免ID/内联样式及过度嵌套。
-
ReflectAPI提供统一、函数化的对象操作接口,替代分散的传统方法,其静态方法如get、set、deleteProperty等返回布尔值更可控,与Proxy配合可保持默认行为一致性,且Reflect.defineProperty比Object.defineProperty更安全,避免异常抛出,ownKeys提供更完整的属性枚举能力,适用于元编程场景。
-
JavaScript闭包在定时器中保持状态的核心机制是捕获并持久化其词法环境中的变量;2.当定时器回调函数作为闭包时,即使外部函数已执行完毕,它仍能访问定义时作用域内的变量;3.在循环中使用var声明变量会导致所有定时器共享同一个变量,最终输出相同值;4.通过IIFE创建闭包或使用let声明可为每次循环创建独立变量副本,从而解决该问题;5.let的块级作用域特性使每次迭代生成新的绑定,效果等同于闭包捕获;6.闭包的高级应用包括状态管理(如计数器)、延迟执行中的上下文保持以及节流防抖等性能优化技术;7.防抖