-
currentColor仅取元素自身计算后的color值,非父级穿透继承;伪元素需显式设color才生效,且不支持IE11/旧Safari的background-color;内联SVG才认fill="currentColor",外链SVG无效;它不能赋值给CSS变量,也不参与过渡动画。
-
background-color默认填充内容区和内边距区,受background-clip控制;默认情况下,背景色覆盖content和padding区域,如设置background-clip:content-box,则padding透明。
-
Vue3的Fragment和Slots共同解决多根节点限制:Fragment允许组件模板直接包含多个同级根节点而不产生冗余DOM;Slots支持默认、具名及作用域插槽,使父组件可向子组件注入任意结构内容。
-
Object.seal是构建前端业务字典“防篡改语义”的核心工具,它锁死对象结构(禁止增删键、重配置属性),但允许动态修改值,完美匹配字典“键名稳定、值可更新”的真实需求。
-
必须显式声明border基础属性(如border:2pxsolidtransparent)并配合border-image-slice:1fill,否则border-image中的linear-gradient无法渲染;圆角、缩放及Firefox兼容性问题需改用background+background-clip等替代方案。
-
toBlob()比toDataURL()更适合上传前压缩,因其直接生成Blob对象、体积小、内存占用低、不触发Base64膨胀;而toDataURL()同步阻塞、生成字符串体积比原图大33%、易致卡顿或OOM。
-
preload属性仅为提示而非强制指令,实际加载由浏览器策略、设备与网络决定;移动端尤其iOSSafari常忽略该设置,metadata最可控;需监听loadedmetadata事件获取时长等元信息,不可依赖readyState初始值。
-
在tailwind.config.js的theme.spacing下直接添加键值对即可扩展自定义spacing,如'1.5':'0.375rem',支持mt-1.5等工具类;需用字符串键名(带引号)、合法长度单位值,修改后重启devserver。
-
用background-clip:text实现文字渐变色需同时设置background-image、background-clip:text和color:transparent,并添加-webkit-background-clip:text前缀;color不支持渐变函数,SVG方案更兼容但语义性弱。
-
MessageChannel是JavaScriptAPI,需用newMessageChannel()创建配对端口port1/port2;端口单次传输、接收方必须调用start()才能收消息;跨上下文通信要求同源。
-
浏览器无法真正导出可运行的HTML5文件,只能保存静态HTML快照;要离线运行需用开发者工具复制完整DOM、手动处理资源路径,并通过本地服务器(如http-server)而非双击打开。
-
flex-grow控制子元素扩展以填充剩余空间,值越大占比越大;flex-shrink决定空间不足时的压缩比例,值越大收缩越明显,二者配合实现灵活布局。
-
事件冒泡是DOM事件从目标元素逐级向上传播至document的默认行为;可用event.stopPropagation()阻止,它仅停止冒泡而不影响同一元素其他监听器或默认行为。
-
根本原因是系统未将Outlook设为默认邮件客户端,需在Windows设置或macOS系统设置中手动指定;同时mailto:链接须严格编码参数,避免空格、中文未转义,并注意旧版Outlook对长文本和cc/bcc的兼容限制。
-
防抖是事件停止触发后延迟执行一次,适合搜索输入、窗口缩放;节流是固定间隔执行,适合滚动加载、拖拽更新;选择依据是“等停手再响应”用防抖,“持续但限频”用节流。