-
CSS动画由浏览器合成器独立线程处理,性能更优,适合简单预设动画;JavaScript动画通过代码精确控制帧逻辑,灵活性高,适合复杂交互场景。
-
position:sticky必须配合top/bottom/left/right才生效,常见失效原因包括父容器overflow非visible、元素无高度、IE不支持及Safari兼容性问题。
-
必须将<metacharset="UTF-8">置于<head>开头、<title>之前;HTML文件须为UTF-8无BOM编码;HTTP响应头Content-Type也需设为charset=utf-8,三者缺一即可能导致中文乱码。
-
使用CSSFlexbox的flex:1配合flex-direction:column,可让动态子元素自动占据父容器中除去固定尺寸兄弟元素后的剩余垂直空间,无需硬编码calc()或JS计算。使用CSSFlexbox的`flex:1`配合`flex-direction:column`,可让动态子元素自动占据父容器中除去固定尺寸兄弟元素后的剩余垂直空间,无需硬编码`calc()`或JS计算。在传统块级布局中,当父容
-
darkMode:'media'可使Tailwind响应系统主题,但需在tailwind.config.js中显式声明并确保CSS中使用dark:前缀类,且基础色类不可缺失。
-
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}。
-
ul+li是搭建物流时间轴最稳妥方案:ul语义清晰兼容性好,li按时间顺序代表节点且支持状态回退;每个li含time/strong/p三部分,用data-status="active"标记进行中节点;CSS通过relative定位+伪元素画圆点和竖线,避免兼容问题;动态高亮依赖后端current字段而非索引;移动端详情展开用手写aria-expanded+max-height过渡替代details标签。