-
用localStorage实现最近访问菜单需标准化URL(origin+pathname)、限制10条、SPA监听路由变化,点击菜单时先saveToHistory再跳转,避免sessionStorage因关闭丢失且不跨标签页。
-
JavaScript模块化通过export和import实现代码拆分与复用,支持命名导出、默认导出及动态导入,需注意文件扩展名、type="module"设置及服务器运行环境。
-
HTML空元素共14个,是W3CHTML5标准明确定义的无内容、无闭合标签元素:area、base、br、col、embed、hr、img、input、link、meta、param、source、track、wbr。
-
linkrel="preload"是最标准可控的图片预加载方式,需在head中静态声明并指定as="image";Image对象适合运行时条件加载与状态监听,二者配合缓存策略和尺寸声明才能实现首屏秒出。
-
shape-outside不生效的首要原因是未设置float;它仅对float:left/right元素有效,且需避免overflow隐藏浮动、使用纯黑白PNG或polygon()替代图像路径,并注意line-height与浏览器兼容性。
-
CMS被淘汰而G1成为分水岭,因其并发标记无法处理浮动垃圾且易退化为SerialGC;G1通过Region划分与RememberedSet实现标记与回收解耦,采用“并发标记+并行复制”模式。
-
必须为盒子设置container-type:inline-size,否则@container和cqw均静默失效;cqw仅在inline-size容器内有效,需配合clamp()使用,且无降级方案。
-
HTML正则测试不能替代HTML验证,因其仅做字符串匹配,不解析DOM、不处理嵌套/实体/注释;W3C验证器则基于真实解析器检查语义合规性;pattern属性使用JS正则规则,需注意转义与隐式^$。
-
steps()动画不能直接用CSS变量控制,因为浏览器无法在animation-timing-function的函数参数中解析var()为有效数值,导致退化为ease或失效;需通过@property(Chrome103+/Safari16.4+)间接调控或JS动态重写animation字符串实现真正动态调速。
-
外边距合并不是bug而是CSS规范行为:垂直相邻块级元素的margin-top/margin-bottom会取较大值合并。典型场景有相邻兄弟元素、父子塌陷、空元素自合并;推荐用BFC(如display:flow-root)、统一设margin-bottom、gap或微调padding/border来隔离。