-
Flex布局IE10+部分支持、IE11基本完整,IE9及以下完全不支持;应采用渐进增强策略,以浮动或inline-block为基础布局,再为现代浏览器升级Flex,并用前缀、@supports或Modernizr实现兼容。
-
字体在某些浏览器不显示是因为仅提供单一格式(如仅.woff2),旧版浏览器(IE9–11、老版Safari等)不支持;应通过@font-face按“从新到旧”顺序声明.woff2、.woff、.eot/.ttf等多种格式以确保兼容。
-
由于浏览器安全限制,JavaScript无法通过getComputedStyle()获取:visited伪类中修改的CSS变量值,且CSS变量本身也不允许在:visited规则中声明——这是为防止历史访问信息泄露而强制实施的隐私保护机制。
-
localStorage数据不会自动过期,需手动清除或封装带时间戳的读写逻辑;不适合存敏感信息、大量数据或依赖强一致性的场景。
-
transition:all不会过渡所有属性,仅对支持CSS动画的属性(如color、transform)生效,对display、height:auto等无效,且易引发性能问题和行为不一致。
-
使用position:fixed可将图标固定在页面角落,通过bottom、right等属性定位,结合flex居中、z-index层级控制及媒体查询适配移动端,适用于返回顶部、客服图标等场景。
-
必须将平移和旋转合并到单条transform声明中,如transform:translateX(100px)rotate(45deg);分开写会因CSS层叠被覆盖;关键帧需显式定义起止transform值,且所有帧保持函数类型一致,配合transform-origin和will-change可优化性能与动画表现。
-
三元运算符适用于简单条件赋值,如age>=18?'adult':'minor';if-else更适合复杂逻辑分支,如多层判断与多行操作。
-
ClassListAPI提供了添加、删除、切换和检查元素类名的方法,简化了JavaScript中对CSS类的操作。1.add()添加类名;2.remove()移除类名;3.toggle()切换类名;4.contains()检查类是否存在;5.item()获取指定索引的类名;6.replace()替换类名。使用时需先获取元素,再调用相应方法操作类名,相比直接操作className属性更简洁高效,且兼容性良好,适用于动态主题切换、控制显示隐藏、表单验证、交互组件等场景,并可与CSS动画结合实现过渡效果。
-
GraphQL是一种用于API的查询语言和运行时规范,非JavaScript原生部分,不替代REST但提供更灵活高效的数据获取方式,支持客户端精确指定字段、多资源聚合及强类型schema。
-
Promise.all存在三大缺陷:一失败全中断、无并发数限制、不可取消;应依场景选用Promise.allSettled、p-limit等并发控制方案。
-
grid-auto-flow控制网格中未定位元素的排列方式,默认按行填充,可设为column或dense模式实现纵向或紧凑布局,配合隐式轨道定义实现灵活自适应效果。
-
递归函数是函数调用自身,必须有明确终止条件(basecase),否则导致栈溢出;核心结构为basecase加recursivecase,常见错误包括缺return、basecase条件错误、问题规模未缩小。
-
可以,background-image支持多背景语法,用逗号分隔图片和渐变,顺序决定堆叠(前上后下),需配合background-size、background-repeat等控制显示效果。
-
用fr单位配合minmax()可有效解决CSSGrid列宽不均问题,关键在于避免固定像素值干扰自动分配逻辑,并为每列设置合理的弹性范围。