-
模板字符串用反引号包裹,支持多行、保留换行缩进、内嵌变量表达式(如${name})、配合标签函数实现转义/格式化,调试可用JSON.stringify查看真实换行。
-
<inputtype="hidden">必须置于<form>内,设置合法name和动态/静态value,禁用敏感信息硬编码;CSS隐藏不可替代,因其语义错误且存在验证与可访问性风险。
-
HTML5播放器彻底绕过Flash依赖需从资源层、运行层双路径替换:SWF课件须转HTML5格式或重做;FLV/RTMP流需服务端转HLS/MP4并用hls.js播放;前端FlashAPI调用须重写为标准事件或postMessage通信。
-
用position:absolute+top:0+left:0+width/height:100%使图片叠于父容器左上角,父容器需设position:relative和明确高度,配合z-index与opacity切换,预加载图片并用object-fit:cover防变形。
-
不加async或defer的script标签会阻塞HTML解析:浏览器遇到时立即暂停解析,下载并执行脚本后才继续,导致白屏和DOM访问失败;内联与外链脚本均如此,且按文档顺序串行执行。
-
HTML不是编程语言而是语义化结构说明书,标签描述内容含义而非样式,应避免滥用无语义的<div>/<span>,注意属性写法规范(如width="200"而非"200px",布尔属性无需赋值)。
-
lightbox图片居中失效主因是容器未撑开或对齐逻辑触发过早;需确保图片加载完成再初始化,启用centerOnScroll,修正CSS选择器层级,并统一缩放策略。
-
ul必须仅包含li元素,不可直接嵌入文本或其他标签;li必须严格嵌套在ul或ol内,不可单独存在或置于非列表容器中;嵌套列表时子ul须完整位于父li标签内部;HTML5废弃type属性,应使用CSS控制样式。
-
Sass无法读取CSS变量,只能将Sass变量编译为CSS变量;需在:root中输出纯值或预计算的衍生值,避免运行时逻辑;混用时注意作用域、优先级及JS配合切换主题。
-
纯CSS实现hamburger→×动画的关键是用伪元素构建三线结构并协同transform:中间线opacity:0,上下线分别rotate(45deg)/rotate(-45deg)加translate交汇成×;需统一用transform控制偏移以避免原点漂移,同时排查pointer-events和z-index导致的点击失效。
-
SSR通过服务器端直接生成完整HTML实现首屏直出,提升SEO索引率78%、LCP减少40%,并支持动态元信息与语义化标签,主流方案包括Next.js、Nuxt.js及自建Express渲染。
-
flex-flow是flex-direction和flex-wrap的原子性简写,设了它两个属性都会被全量重置而非可选覆盖;必须写全如columnwrap,不可省略任一值,否则未显式指定的会回退到默认值(row/nowrap)。
-
iOSSafari中window.innerHeight不准是因为地址栏/工具栏伸缩会动态改变该值,导致全屏容器闪动;应优先用visualViewport.height并监听其resize事件,旧版iOS则需orientationchange+延迟测量兜底。
-
IE6–8不支持border-radius时可用PIE.htc,但需严格满足路径、display、hasLayout、overflow等条件,HTTPS下须确保协议一致及MIME正确,动态修改需手动detach/attach,现代项目应避免使用并优先采用渐进增强策略。
-
ArrayBuffer比普通字符串或数组更具优势,原因在于它提供了字节级别的访问和连续内存分配。首先,字符串以UTF-16编码存储,不适合处理无字符编码的原始二进制数据,频繁的编码/解码操作会引入错误和性能损耗;其次,普通数组存储任意JavaScript值,导致额外内存开销和低效访问,而ArrayBuffer通过TypedArray视图实现高效读写同质数据,通过DataView支持异质数据及字节序控制,适用于图像处理、音频合成等高性能场景。