-
box-shadow语法为box-shadow:h-offsetv-offsetblurspreadcolorinset,前两个参数必填,blur不可为负,inset须置末尾;常用示例:box-shadow:2px2px4pxrgba(0,0,0,0.2)。
-
强缓存是浏览器根据响应头(如Cache-Control、Expires)跳过请求、直接复用本地文件的机制,仅依赖URL一致性和缓存时效性,不校验服务器资源是否更新;其核心缺陷是URL不变则无法感知内容变更,故需通过文件名哈希使内容变化映射为URL变化,从而强制刷新缓存。
-
跨窗口通信唯一安全方式是window.postMessage(),需指定目标窗口并校验event.origin,禁止用*通配targetOrigin,不支持传函数或DOM节点,须实测边界场景。
-
text-align用于控制块级元素内行内内容的水平对齐方式,不控制元素自身位置;取值包括left(默认)、right、center、justify;具有继承性,但对块级子元素无效;需注意direction和writing-mode对其含义的影响。
-
TrustedTypes通过强制类型检查在运行时拦截非法字符串执行,而非审计逻辑;需重构执行模型、切断危险入口,并让动态执行路径显式受控。
-
用<table>写价格表最直接,语义清晰且原生支持响应式;需规范使用<thead><tbody>、scope属性,并通过CSS控制collapse、padding和min-width,配合overflow-x实现移动端横向滚动。
-
filter:blur()使文字变糊的根本原因是触发图层合成后浏览器光栅化策略改变:Chrome/EdgeGPU加速下双线性插值致边缘发毛,FirefoxCPU光栅化更稳,Safari受系统字体渲染限制易现灰边;will-change:filter仅预分配合成层、优化动画过渡,不提升静态模糊锐度,且滥用会导致内存暴涨;真正有效方案是拆分模糊背景与文字为独立节点,避免文字继承filter,必要时用backface-visibility:hidden重置光栅化上下文或text-shadow降级模拟,移动端需确
-
Array.prototype.toSorted()是ES2023引入的不可变排序方法,不修改原数组而返回新数组,天然契合React声明式更新;相比会就地修改的sort(),它避免状态篡改、优化失效和调试困难等问题。
-
“处处上线”的UI反馈是让用户在任何操作节点都能明确感知系统响应、当前状态及下一步变化,核心在于可预期、有温度、不打断的视觉与交互闭环。
-
用BigInt与后端金融API交互需坚持“进得准、算得对、出得稳”三原则:金额统一以“分”为单位用字符串传,前端转BigInt计算,展示时自行格式化为“元”,收发JSON时精准转换、避免全局处理,且必须后端协同返回字符串。
-
navigator.storage.estimate()必须在安全上下文中异步调用,返回usage和quota的估算值,quota动态变化且非精确,需结合persist()提升稳定性并避免依赖其绝对数值。
-
JavaScriptDate对象默认使用本地时区而非UTC,导致跨时区行为不一致;ISO带Z或偏移的字符串按UTC/指定时区解析,纯日期字符串行为不可靠;推荐全链路用UTC时间戳+toLocaleString({timeZone})格式化。
-
HTTPS是现代网页运行的强制前提,因浏览器将HTTP视为不安全上下文,导致fetch跨域拒绝、Geolocation报错、ServiceWorker无法注册、混合内容被拦截、HTTP/2与HTTP/3无法启用等核心功能失效。
-
使用CSSGrid和mediaqueries可实现响应式图片列表等间距布局,通过grid-template-columns与minmax控制列宽,grid-gap设置间隙,并在不同屏幕下调整参数以适配设备,兼顾美观与兼容性。
-
justify-self:end没生效,首要原因是缺乏对齐空间:父容器须设display:grid且定义列轨道(如grid-template-columns:1fr),目标元素必须是直系子元素且未脱离网格流(无position:absolute等)。