-
纯CSS可实现3D文字效果:用text-shadow多层偏移模拟纵深(兼容性好、轻量),或用transform-style:preserve-3d+transform实现真3D分层(需字符包裹span、父容器设perspective和preserve-3d);字体选择、抗锯齿设置及设备适配至关重要。
-
Object.isFrozen不能判定“全局单例是否处于只读安全期”,它仅检测对象是否浅层冻结(不可扩展、属性不可配置且不可写),不感知初始化完成、运行时锁、并发安全或深嵌套可变性。
-
直接运行vite即可启动HTML开发服务器,无需配置、框架或JS模块,只要根目录有index.html;常见错误包括未安装vite依赖、index.html位置或命名错误、误用vitepreview替代开发服务器,路径引用须以index.html所在目录为基准。
-
scroll-timeline需滚动容器、时间轴定义、动画绑定三者配合;Chrome/Edge115+原生支持,Firefox需开启flag且受限,Safari当前完全不支持。
-
<p>规范写法是用标准HTML注释包裹ISO8601格式日期,如<!--2024-05-20:描述-->,禁用嵌套、避免--和>出现在注释内,不混入JS代码。</p>
-
transition-delay需≥transition-duration才能实现连贯往返效果,推荐设为duration×2;必须写在默认状态而非:hover中;在@keyframes中无效,应改用animation-delay。
-
需借助工具链模拟渲染路径识别未用CSS,静态分析易误删动态类,推荐purgecss-webpack-plugin处理自定义全局样式并配置白名单,Coverage仅作线索不可直接删。
-
background-size动画无效是因为关键词(如cover)不可插值,须用具体数值(如102%98%);容器需有明确尺寸且避免fixed定位;iOSSafari需加translateZ(0)触发硬件加速。
-
统一代码风格、命名规范、模块化设计和代码评审是提升前端团队协作效率与代码质量的关键。通过ESLint+Prettier实现自动化格式化与语法检查,配合GitHooks在提交前校验;采用camelCase和PascalCase规范变量与组件命名,布尔变量以is/has/can开头,函数名使用动词开头;保持函数单一职责,合理拆分模块并按功能组织目录结构;推行代码评审机制,结合JSDoc注释和README文档保障知识同步,提升可维护性。
-
localStorage数据永久保存(关浏览器不丢失),sessionStorage仅限当前标签页(关tab即清空);二者均只支持字符串,存对象需JSON.stringify,取时需JSON.parse;同源下localStorage全局共享,sessionStorage隔离;均不参与HTTP请求。
-
可通过JavaScript动态添加下拉选项:先获取select元素,用createElement或Option构造函数创建选项并添加;支持批量添加与重复检查。
-
优化移动端JavaScript性能需精简代码、异步加载、减少重计算、合理处理事件及利用现代API,提升执行效率与用户体验。
-
<p>能实现等宽弹性列表,需用flex-basis配合calc()设定单个子项宽度(如calc(33.333%-10.666px)),并结合margin-right与:nth-child(3n)清除末项边距,同时设flex-shrink:0和box-sizing:border-box确保精度与兼容性。</p>
-
created阶段适合发起异步请求、初始化非DOM状态、订阅事件;mounted是DOM操作的正确时机,可安全访问this.$el和this.$refs,执行第三方库初始化、聚焦、尺寸获取等,SSR下需注意浏览器API兼容性。
-
使用:focus伪类可实现输入框聚焦高亮,1.通过设置border-color改变边框颜色;2.结合box-shadow添加发光效果;3.适用于input、textarea等元素;4.需添加outline:none避免默认样式冲突,提升表单交互体验。