-
HTML中需转义<、>、&、"、'五字符,\_通常无需转义但混用Markdown时需写\\_;短代码用<code>加转义,多行用<pre>。
-
sticky失效主因是祖先元素overflow:hidden/auto/scroll截断滚动上下文;需逐级检查父容器overflow值,改用clip-path替代或调整DOM结构;同时确保父容器有高度、不触发新层叠上下文,且sticky元素设top等偏移值。
-
局部同构更新不能实现“不重刷页面却更新SEO”,SEO内容必须由服务端直出并存在于初始HTML中;局部刷新仅能安全更新与服务端输出严格匹配的子树,不得破坏已有SEO结构。
-
大屏轮播应通过WebSocket推送轻量指令而非原始数据,前端预加载缓存数据并增量更新图表,地图和桑基图需复用配置、禁用自动布局,轮播中断须双向同步暂停状态。
-
WebGL是浏览器内置的底层图形API,需手动编写着色器、管理缓冲区和渲染管线;Three.js是其高级封装库,提供Scene、Mesh等语义化对象。纯WebGL灵活轻量但门槛高,Three.js开发快但掩盖细节。
-
CDN选型应优先确保源站Cache-Control可自定义,否则CDN无法缓存;静态资源需显式设置public/max-age/immutable;URL哈希优于查询参数;需验证边缘节点实际覆盖;HTTP/2推送已废弃,改用preload或preconnect。
-
可采用五种方法将文本等格式转为标准HTML:一、在线Markdown工具;二、Pandoc命令行;三、Python脚本调用markdown与BeautifulSoup;四、浏览器开发者工具手动构造;五、VSCode插件实时渲染导出。
-
hover过渡不生效的主因是transition未写在元素默认状态规则中,且:hover可能未真正命中目标元素;需确保transition声明在非hover规则里,并用开发者工具验证实际触发区域。
-
confirm()是最轻量确认方案但会阻塞JS,正确做法是onclick中先confirm再调用删除函数;现代项目应自定义弹窗并确保点击确认才触发删除;服务端必须校验权限、归属及记录日志;删除后需及时更新DOM状态并处理失败反馈。
-
符合W3C标准的HTML结构核心三点:必须以<!DOCTYPEhtml>开头(全大写、空格分隔、独占首行),<html>根元素须含合法BCP47语言标签如lang="zh-CN",且<head>内<metacharset="UTF-8">必须在<title>之前以确保正确解码。
-
实现响应式卡片布局的关键是使用Flexbox或Grid结合媒体查询。1.Flexbox通过flex-wrap和flex属性实现一维弹性布局,适合简单排列;2.Grid利用grid-template-columns与auto-fit、minmax函数创建自适应二维网格,更灵活高效;3.媒体查询优化不同屏幕下的间距、字体与排列方式;4.图片设为width:100%确保自适应,内容不溢出。推荐优先使用Grid方案,现代浏览器下简洁且适配良好,老旧浏览器可降级使用Flexbox加媒体查询。
-
SharedWorker由JavaScript实例化,非HTML创建;需满足同源、HTTPS/localhost、独立JS文件三大条件,否则构造失败。典型问题包括浏览器不支持、SecurityError、脚本404、跨源加载;页面端须显式调用port.start()才能通信;调试需切换DevTools上下文至shared_worker;共享变量无原子性,需防并发更新。
-
WebSocket需手动实现房间管理与状态同步:用Map存储房间及玩家Set,加入时校验满员并绑定roomId,断连时及时清理;广播仅限目标房间内玩家且排除发送者;位置同步须校验、控频、加时间戳。
-
应为CDN、API接口、字体服务、统计域名添加dns-prefetch;避免同源域名、跳转链接;href须以//开头且仅含主机名;需置于head最前;勿与preconnect混用同一域名。
-
伪元素下划线hover闪动的根本原因是::after初始未隐藏,导致渲染时先显示默认宽度再缩放;须设width:0+opacity:0,配合完整transition和position:relative定位。