-
darkMode:'media'可使Tailwind响应系统主题,但需在tailwind.config.js中显式声明并确保CSS中使用dark:前缀类,且基础色类不可缺失。
-
@media(orientation:landscape)单独使用效果差,因它仅检测方向而不感知视口高度骤减、vh抖动、fixed偏移及系统UI干扰等真实问题。
-
ServiceWorker无法直接解压文件,因其运行环境受限且无原生解压缩API;需通过拦截请求+主线程协作(如JSZip或WASM库)实现解压,或采用预解压+清单映射的轻量方案。
-
HTML本身不支持渐变,需用background:linear-gradient()等CSS函数实现;必须写to方向、带角度单位、逗号分隔颜色;background-image更严谨,配合background-size:cover防拉伸,IE需-ms-前缀及色值fallback。
-
srcset是逗号分隔的“URL+空格+宽度描述符(如400w)或像素密度描述符(如2x)”组合,浏览器据此按设备宽度或dpr选择最匹配图片;仅用w需配合sizes,仅用x需保留src作为1xfallback。
-
预渲染适合内容静态、路由固定的关键页面(如首页、关于页),用于快速提升SEO和首屏性能;其原理是在构建时用无头浏览器访问路由并保存完整HTML快照,部署后直接返回静态文件。
-
Vue模板中只支持JavaScript表达式,不支持语句和流控制;正确示例为{{count+1}}、{{isActive?'active':'inactive'}},错误示例为{{if(count>0){return'yes'}}}、{{letx=1}}。
-
在Vue3组合式API中,app.mount()返回的是根组件实例(而非应用实例),只有通过该实例才能访问setup()中暴露的响应式数据;直接操作app.timer无效,正确做法是保存mount()的返回值并更新其属性。在Vue3组合式API中,`app.mount()`返回的是根组件实例(而非应用实例),只有通过该实例才能访问`setup()`中暴露的响应式数据;直接操作`app.timer`无效,正确做法是
-
vertical-align能解决图片下方空白,但仅在img为inline或inline-block且父容器非flex/grid时生效;它对齐行框底边而非父容器,bottom值最稳定可靠,失效常因父级margin、HTML空白符或图片自身留白所致。
-
优先用aria-label于纯图标按钮,aria-labelledby于引用隐藏标签;role="button"仅用于非原生按钮的模拟;aria-hidden="true"禁止包裹交互元素;aria-live="polite"用于非紧急更新,“assertive”仅限关键中断。
-
bgcolor属性在HTML5中已被正式废弃,现代项目禁用;它违背结构与样式分离原则,且常被CSSbackground-color静默覆盖,可靠方案是同时设置html{min-height:100vh}和body{margin:0;background-color:#f9f9f9}。
-
newService()是解耦的第一道坎,因其将服务创建与销毁逻辑耦合进组件,导致测试困难、功能扩展受限、内存泄漏及单例失效;provide/inject非真正DI,需配合工厂函数、InjectionKey和接口契约才能实现类型安全、跨框架复用的真解耦。
-
ul+li是搭建物流时间轴最稳妥方案:ul语义清晰兼容性好,li按时间顺序代表节点且支持状态回退;每个li含time/strong/p三部分,用data-status="active"标记进行中节点;CSS通过relative定位+伪元素画圆点和竖线,避免兼容问题;动态高亮依赖后端current字段而非索引;移动端详情展开用手写aria-expanded+max-height过渡替代details标签。
-
prefers-color-scheme是CSS媒体查询关键字,用于检测系统深色/浅色偏好,需先写默认浅色样式再用@media(prefers-color-scheme:dark)覆盖,配合localStorage存用户选择、class切换和CSS变量实现可靠主题切换。
-
使用align-items和justify-items可实现Grid子元素在网格单元格内垂直水平居中,前者控制Y轴对齐,后者控制X轴对齐,适用于多个子项统一居中;若需单独控制,则使用place-items或align-self与justify-self。