-
弹窗焦点管理需手动实现:打开时用requestAnimationFrame聚焦首个可交互元素,关闭时恢复触发元素焦点并校验其存在性,Tab导航需循环控制,inert属性需兼容降级。
-
HTML性能优化不直接计分但影响FCP、LCP、CLS等核心指标;改img的loading="lazy"和decoding="async"可减少主线程阻塞、避免布局偏移,需配width/height;preload须慎用,仅限字体、关键CSS、hero图等高优且无法自动发现的资源,并严格指定as和crossorigin;关键CSS应精准内联首屏必需规则,避免全量或含@import/@font-face,超14KB时分段异步加载;优化本质是理解浏览器渲染流水线,而非盲目压缩或加属性。
-
text-overflow:ellipsis仅对块级或明确设宽的内联块元素生效,需同时满足white-space:nowrap、宽度限制及溢出条件;原生不支持多行省略,WebKit私有属性存在兼容性限制,Flex中需设min-width:0才能触发。
-
scale3d()函数用于3D缩放,接受X、Y、Z三轴参数,如scale3d(2,0.5,1)分别放大、缩小、保持各轴,可结合transition实现动画,常用于卡片翻转等效果,且不影响文档流布局,需注意性能优化与transform-origin设置。
-
HTML中link标签href路径错误是CSS失效的最常见原因,需确保href值与CSS文件实际位置匹配,区分大小写,避免绝对路径,并确认LiveServer根目录和rel="stylesheet"拼写正确。
-
window.postMessage()是唯一通用且安全的跨窗口通信方式;它属JavaScriptAPI,需指定targetOrigin校验origin,支持跨源通信,但要求发送前检查窗口状态、加载完成及消息唯一性。
-
class样式未生效的主因是CSS特异性冲突或元素未匹配选择器;检查开发者工具Styles面板中被划掉的样式,按内联>id>类>标签优先级排查,避免滥用!important和误用inherit。
-
要让HTML页面更容易被屏幕阅读器访问,核心在于使用语义化HTML、ARIA属性和遵循无障碍最佳实践。1.使用语义化HTML标签(如<nav>、<main>、<article>)赋予内容结构和意义,帮助屏幕阅读器识别页面角色并提供导航选项;2.合理使用ARIA属性(如role、aria-label、aria-describedby)补充复杂UI组件的语义,但优先使用原生HTML;3.确保键盘可访问性,使所有交互元素可通过Tab键聚焦并用Enter/Space激活;4.为
-
scroll-timeline需滚动容器、时间轴定义、动画绑定三者配合;Chrome/Edge115+原生支持,Firefox需开启flag且受限,Safari当前完全不支持。
-
直接运行vite即可启动HTML开发服务器,无需配置、框架或JS模块,只要根目录有index.html;常见错误包括未安装vite依赖、index.html位置或命名错误、误用vitepreview替代开发服务器,路径引用须以index.html所在目录为基准。
-
Object.isFrozen不能判定“全局单例是否处于只读安全期”,它仅检测对象是否浅层冻结(不可扩展、属性不可配置且不可写),不感知初始化完成、运行时锁、并发安全或深嵌套可变性。
-
纯CSS可实现3D文字效果:用text-shadow多层偏移模拟纵深(兼容性好、轻量),或用transform-style:preserve-3d+transform实现真3D分层(需字符包裹span、父容器设perspective和preserve-3d);字体选择、抗锯齿设置及设备适配至关重要。
-
HTML跨浏览器适配靠三件确定性动作:DOCTYPE顶格声明、normalize.css统一默认样式、用特性检测而非UA判断JS能力;漏掉任何一件,IE或旧Safari中CSS和JS均可能失效。
-
JavaScript需要Proxy,是因为它提供了唯一原生、细粒度、可编程的方式拦截和自定义对象基本操作;而Object.defineProperty仅能静态劫持已存在属性,无法捕获新增/删除属性、in操作、数组索引访问等。
-
Webpack是一个静态模块打包器,从入口文件递归解析import/require等模块依赖,输出浏览器可运行的bundle;需通过loader(如css-loader、style-loader)和plugin扩展能力,不直接编译或压缩资源。