-
应优先使用margin-inline而非margin-left/margin-right,当边距沿文本流方向(如按钮组、表单控件水平间距)且需自动适配LTR/RTL时;margin-block则用于块轴,其起始端由writing-mode决定而非direction,降级需用@supports+dirfallback。
-
list-style用于设置列表标记样式,可简写定义type、image和position;如list-style:squareinsideurl('dot.png'),常用于美化ul/ol列表并清除默认样式。
-
dns-prefetch是浏览器原生支持的轻量级优化,仅提前解析指定域名DNS,需用双斜杠协议写法、置于head靠前位置,优先关键第三方域名,不保证执行。
-
requestAnimationFrame与CSS变换各有优势:rAF提供精准控制,适合复杂交互和动态计算;CSS变换依赖硬件加速,适用于声明式、高性能的简单动效。实际开发中应根据动画复杂度、交互需求及性能要求选择,常结合使用以兼顾灵活性与流畅性。
-
JavaScript中的微任务队列没有明确的长度限制,它是一个动态增长的FIFO队列,与当前宏任务的生命周期绑定;1.微任务队列在规范层面无固定上限,理论上可无限增长;2.微任务优先级高于宏任务,在当前宏任务执行后立即清空微任务队列;3.若微任务无限生成,会持续占用主线程,导致页面冻结、宏任务无法执行;4.常见微任务包括Promise回调、MutationObserver、queueMicrotask();5.避免微任务过度膨胀的方法包括避免递归创建微任务、分解大型任务、使用setTimeout调度、利用
-
template标签不渲染、不执行、不绑定,仅作离线仓库;必须用template.content.cloneNode(true)获取可操作内容,填值优先用textContent/value,批量插入需用DocumentFragment优化性能。
-
本文详解在VuetifyVAutocomplete+closable-chips场景下,如何统一捕获Chip被关闭的事件——不仅支持鼠标点击×,还兼容键盘(Backspace/Arrow+Backspace)等原生关闭行为,解决@click:close失效、vnode-before-unmount作用域丢失等常见陷阱。
-
loading="lazy"仅适用于img和iframe且需src属性,Chrome76+、Firefox75+、Edge79+及Safari15.4+(仅img)支持;首屏图、背景图、picture内source等不适用,须配合width/height防CLS,SSR中需注意JS加载时机。
-
JavaScript无原生管道操作符(|>),但可通过函数组合实现管道式数据处理:pipe(str,f1,f2,f3)顺序执行函数,提升可读性与可维护性;ECMAScript提案已暂停,推荐Ramda、lodash/fp或手写pipe。
-
用一个可复制的前端配方解决按钮重复提交:解释连续点击为什么会造成旧响应覆盖新状态,并用 loading 锁、AbortController、最新序号和 finally 恢复按钮状态。
-
Proxy和Reflect是配合使用的对象行为控制机制:Proxy拦截操作,Reflect提供与之对应的标准化底层方法,二者结合可实现安全、可靠、可维护的元编程逻辑。
-
304状态码是协商缓存生效的信号,表示资源未修改,浏览器复用本地缓存。它依赖客户端携带If-Modified-Since或If-None-Match头,服务端比对后返回空响应体,节省带宽并提升性能。
-
HTML5使用<img>标签嵌入图片,需设src和alt属性;支持srcset/sizes实现响应式;可用<figure><figcaption>增强语义;loading="lazy"实现懒加载;onerror处理图片缺失。
-
:required伪类仅匹配原生支持required属性的表单元素(input/select/textarea)且HTML中真实存在required属性;JS设置property、框架未透传、ShadowDOM隔离、Safari旧版bug或选择器错误均会导致失效。
-
CloudflareWorkers长流中断主因是边缘节点100秒空闲超时,其次为上游模型限流、Worker执行时限及客户端限制;需通过curl测试、时间戳打点和本地对比三步定位,并用心跳保活、分段代理等策略稳定流式响应。