-
SharedWorker可实现同源多标签页共享后台线程与状态,需单独部署脚本、手动维护state并通过MessagePort通信,不支持DOM但可调用fetch/IndexedDB,须HTTPS、注意Safari兼容性及持久化补充。
-
HTML数据运营的核心在于通过页面元素采集用户行为并优化交互设计。1.利用埋点与data属性捕获点击、浏览等行为;2.关键指标包括PV/UV、跳出率、停留时间、CTR、表单成功率及加载性能;3.结合A/B测试、热图与路径分析驱动页面迭代,提升转化。
-
直接用rotate()做菱形容易错位,因为默认以左上角为旋转原点,需显式设transform-origin:center;父容器须为等宽高等尺寸的正方形并加overflow:hidden,配合45deg旋转才能实现全对称菱形。
-
Vue中VNode核心类型有五种:文本节点、注释节点、元素节点、组件节点、函数式组件节点;文本节点仅含text属性,挂载时创建Text节点,更新时仅修改nodeValue;注释节点isComment为true,挂载和更新均只操作nodeValue且跳过diff;组件节点封装实例与上下文,挂载时创建实例并递归patch子树,更新时复用或重建实例。
-
容器查询生效需父容器设container-type:size或inline-size;仅container-name无效;@container只响应自身尺寸变化,不感知子元素变动;CSS变量需在@container内重定义实现动态更新;Chrome110+/Safari17.4+支持,旧版应先写通用样式再用@container覆盖。
-
JavaScript中无法直接通过类语法强制保证单例,但可通过静态属性与闭包实现:用私有静态字段#instance缓存唯一实例,getInstance()统一访问,构造器加守卫防止new绕过;兼容旧环境可用WeakMap或静态对象模拟;支持惰性带参初始化,需标记初始化状态以防参数冲突。
-
应优先使用undefined而非null,因其语义更清晰、TS支持更好、运行时更一致;null仅在与API约定、DOM原生返回或需区分“未设置/已清空”时使用。
-
HTML5语义化标签在现代浏览器中默认可解析渲染,但需验证是否按语义处理:article等有默认块级样式且DOM结构清晰,而自定义标签无样式无语义;IE8需用document.createElement()声明支持;CSS中article{}生效即识别成功。
-
底部按钮居中应由其容器自身控制。1.justify-items:center仅在按钮分处独立网格单元时有效;2.若按钮同属一个区域,需用.buttons{display:flex;justify-content:center}或grid容器的justify-content实现;3.推荐将按钮组放入独立flex或grid容器,避免依赖父级对齐属性,结构更清晰且兼容性好。
-
mask比clip-path更适合形状合成,因其通过图像定义像素级透明度,支持羽化、多形状交集及alpha渐变;clip-path仅支持硬裁剪。
-
使用灵活单位如auto、minmax()替代固定尺寸可解决CSSGrid中内容截断问题,确保grid-template-rows和grid-template-columns具备弹性,避免因轨道空间不足导致溢出。
-
minmax()函数用于设置网格轨道尺寸范围,确保列或行宽在最小值和最大值间自适应;例如minmax(200px,1fr)使列至少200px宽,且可弹性扩展,结合repeat(auto-fit,minmax(250px,1fr))可实现响应式卡片布局,根据屏幕空间自动调整列数与宽度,提升布局灵活性与内容可读性。
-
margin:auto在flex容器中能居中是因为它会吞噬主轴和交叉轴的剩余空间;前提是父容器为flex且子元素未设置flex-grow/shrink,且交叉轴尺寸必须可计算。
-
forEach不返回新数组,返回值恒为undefined;map按输入长度返回新数组,必须显式return;reduce省略初始值时空数组会报错,应始终传入;链式调用需防御空值。
-
box-shadow的四个参数依次为水平偏移、垂直偏移、模糊半径、扩散半径,方向由前两个值的正负及大小决定;blur-radius过大或overflow:hidden、transform等会干扰阴影显示效果。