-
父元素必须设position:relative,因为absolute子元素默认向上查找首个非static祖先作为定位参照;若父为static,则可能错位到body或html。relative不改变布局,仅声明自身为定位上下文。
-
grid-row-gap仅控制相邻行轨道间间距,不作用于容器首行顶边和末行底边;需配合padding或align-content实现上下视觉等距。
-
“闭包变量提升”并非标准术语,实为混淆变量提升(仅声明阶段预解析)与闭包延长变量生命周期(引用保持导致延迟回收);前端渲染中频繁创建闭包会加重内存压力,需通过编译优化与开发实践协同缓解。
-
CSS-in-JS中伪类需用库特定语法:Emotion/StyledComponents用&:hover,JSS用hover:{color:'red'};伪元素同理,&::before或before:{content:'"★"'};&不可省略,否则丢失作用域。
-
仅写appearance:none无法清除iOS输入框内阴影,必须搭配-webkit-appearance:none和background-color:transparent、border:1pxsolidtransparent、outline:none、padding与line-height显式设置这4+关键项,否则阴影照旧。
-
grid-template-areas必须每行引号内字符数相等、区域名不重复不遗漏、空白用"."占位;grid-template-columns/rows单位需按fr/px/auto语义合理搭配;grid-template简写顺序固定为行/列/区域,缺项需用/占位;其值不支持CSS变量或表达式。
-
<script>标签中的同步代码是宏任务,由HTML解析时按规范入队;其内部产生的Promise.then、queueMicrotask等回调才构成微任务,事件循环在每个宏任务后清空微任务队列。
-
opacity动画需显式声明transition或animation才能生效,@keyframes必须明确起止值0和1,配合forwards填充模式及visibility:hidden实现真正淡出。
-
Vue计算属性可返回函数,用于动态取值与响应式更新,如根据key读取对象字段;其原理是computed封装可追踪值,返回函数时闭包捕获最新响应式数据,调用时自动获取新值。
-
<details>和<summary>是实现语义化、可访问、免JS的FAQ最佳方案,原生支持键盘操作与屏幕阅读器,需确保<summary>为<details>首子元素且双标签闭合,配合:target与脚本实现锚点展开,并优化移动端点击热区与视觉断层。
-
Flex布局结合transition可实现流畅UI动画,通过justify-content、align-items与transition协同控制对齐与动效,如hover时居中滑动或卡片伸缩,需注意属性可动画化、浏览器支持及使用will-change优化性能。
-
TypeScript中获取DOM元素后需先类型断言再判空访问,否则会因Element无value等属性报TS2339错误,且strictNullChecks未启用将导致运行时null崩溃。
-
变量提升指JavaScript引擎在编译阶段将声明“记入”作用域顶部,并非真实移动代码;var声明被提升并初始化为undefined,let/const仅提升不初始化而存在TDZ,函数声明整体提升,函数表达式仅变量名提升。
-
functools.wraps是必选项,否则原函数的__name__、__doc__、__annotations__丢失,导致日志、监控、OpenAPI工具无法识别真实函数;埋点需用try-except兜底,禁用同步HTTP请求;带参装饰器须冻结参数避免闭包污染;Annotated仅作类型提示,无法替代运行时埋点逻辑。
-
结论:用@media(min-width:768px)控制桌面端显示、移动端默认隐藏+checkbox触发展开最稳;必须加viewportmeta标签,断点单位不能漏px,避免用a或submit按钮触发跳转,max-height过渡需设足够值,且移动端样式应写在媒体查询外作为默认。