-
使用绝对定位结合transform居中模态框,通过top:50%、left:50%将元素起点移至视口中心,再用transform:translate(-50%,-50%)精准居中,兼容性好且无需知道具体尺寸,推荐配合fixed定位与遮罩层使用。
-
变量提升是JavaScript中var声明被提升并初始化为undefined,而let/const声明虽被提升但不初始化,访问会触发ReferenceError,该区域称暂时性死区(TDZ)。
-
最安全优雅的方式是用工厂函数返回新对象,因对象字面量会导致多个组件实例共享同一引用,引发引用污染;Vue中default必须为无参函数,React中推荐组件内解构合并或useMemo。
-
flex-direction在媒体查询中失效的主因是父容器未声明display:flex,或@media未正确作用于目标元素;需基础样式设column,再用min-width断点切row,并同步处理order值。
-
JavaScript支持函数式编程但需主动约束:不可变性(const≠不可变,需Object.freeze或immer)、纯函数(无副作用、输入输出确定)、柯里化(提升复用而非性能),核心是习惯而非语法。
-
BEM通过将作用域编码进类名(如search-form__submit)实现样式隔离,避免全局冲突;禁止无上下文规则、!important和嵌套后代选择器,强调Block功能闭环与命名一致性。
-
^=匹配属性值开头字符串,区分大小写且纯字面匹配;$=匹配结尾字符串,同样区分大小写;=要求属性值完全相等;*=进行子串搜索,最宽松但易误匹配。
-
在JavaScript中通过JSDoc或TypeScript可标注对象可选属性:1.JSDoc用[prop]表示可选,如@typedef{Object}UserConfig@property{string}[email];2.TypeScript用prop?:type,如age?:number;应根据项目选择规范以提升可读性和维护性。
-
JavaScript类型转换分隐式和显式,隐式转换在==、+、-等运算及布尔判断中自动发生,如1+"2"→"12"、"6"-"2"→4、[]为真值;对象转换先调用valueOf()再toString()。
-
需在input和blur事件中调用checkValidity()触发红框和气泡,用setCustomValidity('')重置状态并自定义提示文案,禁用reportValidity()避免干扰,通过JS驱动验证状态确保:invalid生效。
-
flex容器上设break-inside:avoid无效,因分页控制需作用于块级子项;必须为每个卡片等子项单独添加该属性,并确保无overflow:hidden、transform、绝对定位等干扰,推荐@mediaprint中降级为block布局。
-
根本原因是自定义CSS强制设置display:block或display:none,覆盖了BootstrapJS动态注入的内联样式;Collapse依赖JS切换.show类并写入style="display:block/none",而高优先级CSS会锁死该属性,导致视觉无变化。
-
用<divrole="alert">实现语义化顶部警告横幅,配合position:fixed;top:0;width:100%;z-index:1000;和display:flex;align-items:center;布局,关闭时应调用element.remove()并处理焦点与可访问性。
-
HTML5中script标签的type属性可省略,默认为text/javascript;仅type="module"有实质性行为差异,启用ES模块系统;type="application/json"等用于存储非执行数据。
-
Bootstrap5按钮hover背景色不生效,因:focus/:active样式覆盖或权重更高;应同时定义:hover/:focus/:active三态,提高选择器特异性,并适配深色模式及Sass变量定制。