-
@keyframes动画必须显式定义0%和100%关键帧,仅用from/to存在兼容风险;animation缩写中duration须在delay前且带单位;仅transform和opacity可GPU加速;forwards对infinite动画无效,中断时需用animationend事件固化状态。
-
CSS实现黄金比例布局需手动设定数值:主栏宽61.8%、侧栏38.2%,字体按16px→26px→12px等比缩放,外边距慎用避免维护困难,单位统一并结合box-sizing和clamp()保障响应性与可读性。
-
grid-template-areas必须配合display:grid容器使用,每组引号代表一行,区域名需与grid-area值完全一致;Header/Full/Footer三行布局需设height:100vh和min-height:0才能实现Main自适应与滚动。
-
SVG路径无法用CSS定位是因为其坐标系与CSS盒模型分离,需对<svg>外层容器定位而非<path>;装饰器贴合需同步坐标系与宿主边界;absolute定位后点击失效需设pointer-events和z-index;CSS仅安全动画stroke属性,d属性不支持过渡。
-
模块化权限控制的核心是在查找、加载、注册三阶段层层拦截:查找时用MetaPathFinder静默拒绝,加载时用自定义Loader执行前校验,注册后动态冻结模块,越早拦截越安全可控。
-
真实断点应从内容撑开或挤崩的临界宽度出发,用ChromeDevTools拖动宽度滑块观察导航换行、卡片堆叠、表单重叠、图片变形等现象,记录如623px等值后向上取整为640px、900px等;一律使用min-width媒体查询,避免max-width留白;CSS变量不可用于@media条件中;需同步处理表单和图片的固有行为,如input最小宽、textarea最小高、img的max-width:100%等。
-
选SSE还是WebSocket取决于通信方向:单向推送用EventSource,双向交互必须用WebSocket;前者轻量但仅服务端推,后者支持全双工且兼容性更优。
-
什么是CSS颜色分层,不是简单写几个--color-primary颜色分层本质是把颜色按语义+使用场景切开,而不是按色值归类。比如--color-primary不能只代表“蓝色”,它得明确回答:这个蓝用在按钮上?还是标题文字?还是禁用态背景?同一色相在不同语境下亮度、对比度、透明度都该不同。很多人直接定义--blue-500然后到处用,结果在深色模式下文字看不见,或在按钮上和背景对比不足——问题不在变量名,而在没分层。必须拆开的三层:基础色、语义色、场景色基础色只存原始色值(如#2563eb),不
-
Array.fromAsync目前不可用,因其仍处于TC39Stage3提案阶段,V8等引擎尚未实现,所有主流环境均无原生支持,直接调用会报TypeError;可靠替代方案是forawait...of手动收集。
-
Node.js有setImmediate而浏览器没有,这是最直接的识别标志;它属于check阶段,紧接poll阶段之后,浏览器事件循环无此阶段和API,调用会报ReferenceError。
-
最实用的企业官网HTML模板是30分钟内可完成公司名、联系方式和三张产品图修改并上线的单页式或Bootstrap5原生结构模板,需满足扁平文件结构、统一导航控制和硬编码信息全局可搜替三大前提。
-
toRefs是解决Vue3对象解构后响应式丢失的标准方案,它将reactive对象的每个属性转为ref,保持双向同步;因Proxy只代理整个对象,解构会脱离追踪,故需toRefs包裹后再解构。
-
必须掌握操作HTML元素的核心DOM方法:一、通过ID获取单个元素;二、通过类名获取元素集合;三、通过标签名获取元素集合;四、通过CSS选择器获取元素;五、为元素绑定事件监听器;六、创建并插入新元素;七、替换或删除现有元素。
-
BEM是模块边界声明工具而非标签运动,需定义独立块、语义化元素名、避免嵌套与位置修饰符;其核心价值在于人工约定的模块契约,工具无法替代;须约束选择器权重并禁用随意!important。
-
换图标前需先确认引用方式:检查<linkrel="icon">、<linkrel="apple-touch-icon">、图标字体或SVGSprite;再替换多尺寸图标文件并更新对应HTML标签,注意sizes属性与实际尺寸一致,同时处理缓存问题。