-
color-mix()中使用lch()不报错而是被忽略,因旧版浏览器不支持lch()/oklch();需用@supports(color:lch(0%00))检测并包裹,且混合色空间必须一致,fallback颜色须写在@supports外部以确保降级可靠。
-
最稳妥方案是直接在<summary>中嵌入带viewBox和title的inlineSVG,确保缩放清晰、颜色继承、无障碍语义完整且无网络请求。
-
可通过五种方法动态修改background-image:一、直接设置style.backgroundImage;二、切换预定义CSS类;三、利用CSS变量setProperty;四、动态创建style标签注入规则;五、使用base64编码内联图像。
-
动态加载CSS应优先用link标签,需设rel="stylesheet"和href,避免仅依赖onload;并发插入要按层叠顺序严格控制;重复插入需查重;fetch+insertRule仅适用于小量规则且有诸多限制。
-
最稳方案是用.breadcrumb-item:not(:last-child)::after添加分隔符,避免+选择器失效和语义缺失;需设content、vertical-align:middle和line-height:1,小屏用content:""隐藏,确保响应式与无障碍兼容。
-
Pinia实现模块化数据共享的核心是通过storeToRefs保持响应式、$subscribe监听状态变更、defineStore抽离共享逻辑层,并谨慎使用$state跨模块写入。
-
用text-indent配合媒体查询可响应式调整缩进,但必须用em或rem单位;px和%在多断点下易失控,因缩进需随字号等比变化以保持中文排版语义,且须确保元素为块级并处于BFC中。
-
z-index不生效的主因是元素未处于定位上下文中。CSS中z-index仅对position为relative、absolute、fixed或sticky的已定位元素有效,且受层叠上下文层级限制,需检查父容器是否创建了新的层叠上下文。
-
模板字面量类型真正落地的价值在于编译期捕获路径参数类型错误并支持IDE自动提示合法路径;需结合条件类型+infer递归解析占位符,精确推导RouteParams为对象字面量而非Record,且须与useParams等Hook深度集成。
-
答案:响应式布局需控制内容溢出、优化触控滚动并禁止非必要滚动。通过设置容器最大宽度、图片自适应、使用-webkit-overflow-scrolling提升流畅性,结合touch-action避免手势冲突,确保小屏设备体验流畅。
-
高阶函数中this丢失本质是方法脱离“对象.方法()”调用形式,导致运行时this指向undefined或全局对象;常见于map、filter、Promise.then、setTimeout等回调参数位置。
-
DeviceMotionAPI不提供原始陀螺仪数据,仅输出融合后的rotationRate和加速度;需请求accelerometer/gyroscope权限,且devicemotion在Safari/iOS需用户交互后才生效;rotationRate为弧度/秒角速度,须积分并滤零漂用于3D姿态估算。
-
HTML5本身没有虚拟DOM,它是React、Vue等框架的JS层实现机制;原生中可通过DocumentFragment、条件更新、classList控制等减少重复渲染。
-
答案:通过contenteditable结合自定义命令栈实现富文本编辑器的撤销重做功能。1.使用contenteditable使div可编辑;2.维护undoStack和redoStack两个栈保存操作历史;3.监听input、mouseup等事件并防抖保存状态;4.实现undo/redo方法,切换历史状态;5.优化包括限制步数、比较内容变化、合并连续输入及光标位置处理。核心是手动管理DOM快照而非依赖浏览器默认行为。
-
Sass无法直接读取图标文件夹,必须通过构建工具(如Webpack/Vite)扫描生成JSON或Sass变量文件(如$icon-list),再由Sass加载并遍历;@font-face需手动声明woff2/woff等格式,不可自动切换;图标类名需用@mixin结合Unicode生成,DPR适配须依赖构建脚本输出映射表,无法全自动实现。