-
BroadcastChannel不能传输MessagePort,因结构化克隆算法禁止复制有状态端点,必抛DATA_CLONE_ERR;正确方案是用广播触发信号,再通过独立MessagePort或SharedWorker转移任务数据。
-
float导致父容器高度塌陷,因其脱离标准文档流,父容器计算高度时无法包含浮动元素;需通过触发BFC(如overflow:hidden)或伪元素清除浮动(::after{content:"";display:table;clear:both})修复。
-
应设flex-basis:0并配合overflow:hidden/auto、max-width:100%、min-width:0;因flex主轴计算先于overflow裁剪,仅设overflow无效,flex-basis:0才能确保flex-grow正常分配空间。
-
通过内联onclick事件调用JavaScript代码,可实现在用户点击<div>时自动选中其全部文本内容,无需额外class或外部事件绑定;推荐使用独立函数封装逻辑,兼顾可读性与可维护性。
-
HTML不是“学”的,是“用”出来的——从写第一个能打开的文件开始,别碰教程、别背标签、别装编辑器。怎么让浏览器显示我的文字这是你唯一需要关心的第一步。所有“入门课”卡在这里:路径错、后缀名错、双击没反应。新建一个纯文本文件,用系统自带记事本(Windows)或TextEdit(Mac,设为“纯文本”模式)即可输入这三行,一个字别改:你好,HTML保存时,文件名填index.html(不是index.txt,不是网页.html),编码选UTF-8双击这个文件——如果浏览器弹出
-
Playwright截取带HTML图片对齐效果的页面需等待图片加载完成、布局稳定及渲染就绪,推荐组合使用waitForSelector('img.complete')、document.fonts.ready和waitForFunction检测偏移稳定,并用boundingBox()量化验证对齐精度。
-
摇晃动画必须用@keyframes定义至少3个关键帧实现往复节奏,如0%→25%→50%→75%→100%角度变化,首尾为0deg确保循环自然,幅度宜控在±3deg~±8deg,配合0.4s~0.6s时长和非对称角度增强真实感。
-
float导致文字环绕的底层逻辑是将元素移出常规文档流,使后续行内内容自动绕开浮动区域排布;块级容器虽“撞墙”下移,但其内部文本仍会贴边流动。
-
Chrome中mask-image需同时声明-webkit-mask-image和mask-image,仅写标准属性会失效;值须为url()或渐变;SVG遮罩要避免viewBox冲突;mask-position动画需加transition且用坐标值;mask-size须与background-size匹配;Firefox不支持该属性,需用clip-path或canvas降级。
-
根本原因是浏览器对字体度量和基线对齐策略不同:Chrome依em-box,Firefox依ascent/descent,Safari还叠加iOS缩放与旋转干扰;normalize.css通过统一html的line-height:1.15等基准值来收敛差异。
-
conic-gradient适合做加载圆环,因其可直接按角度切分颜色,无需拼接radial-gradient或依赖transform:rotate()动画,CSS更简洁、动画更平滑;但不支持IE,旧版Safari也有兼容问题。
-
AbortSignal.timeout()仅提供基础超时控制,需手动组合熔断(状态机+失败计数+时间窗口)和自愈(半开探测+指数退避)能力,最终封装为按key隔离的safeFetch函数。
-
JavaScript桌面通知需先调用Notification.requestPermission()获取用户授权,仅在用户点击等交互后有效,权限状态分granted/denied/default;获准后方可通过newNotification()发送通知,且要求HTTPS(localhost除外)。
-
objectStore.count()可高效获取IndexedDB对象仓库记录总数或指定keyRange范围内的数量,需在打开数据库后的有效只读/读写事务中调用,结果在onsuccess中通过this.result获取,返回number类型。
-
lang属性必须写在<html>标签上,如<htmllang="zh-CN">,写在其他标签无效;多语言内容需用lang单独标注子元素;动态页面须在SSR或HTML源头设置,不可JS后期修改。