-
直接双击保存为.html后缀的文件即可用浏览器运行,无需另存为网页;务必用纯文本编辑器、手动输入后缀、避免空格中文;本地file://协议下基础功能正常但API受限,需本地服务测完整功能;DOCTYPE必须首行且无BOM,路径须准确,404错误易被忽略。
-
最直接设置元素背景色的方法是使用CSS的background-color属性,而非HTML的bgcolor属性;它支持命名色、十六进制、RGB、RGBA等值,优先级高、语义清晰、兼容性好(IE8+),但需确保元素有尺寸且未被其他背景规则覆盖。
-
contextmenu事件需在捕获或目标阶段显式调用event.preventDefault()和stopImmediatePropagation()阻止原生菜单,监听须绑定到具体元素(含shadowRoot),坐标计算要修正滚动偏移与窗口边界,菜单需手动管理焦点、ESC关闭、点击外部隐藏及无障碍支持。
-
ViewTransitionsAPI仅对已挂载且可匹配的DOM元素生效,依赖成对、稳定、唯一的view-transition-name属性触发快照过渡,不支持跨页面导航或异步DOM更新。
-
navigator.locks不能同步权限,仅保证同源下至多一个标签页执行某段代码;锁名须含业务唯一标识且URL-safe,mode必须显式设为'exclusive',ifAvailable应启用以防阻塞,Safari不支持需服务端幂等兜底。
-
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()才能收消息;跨上下文通信要求同源。