-
直接写死颜色和尺寸导致Loading动画难维护,因主题切换或尺寸调整需多处同步修改且无法响应深色模式;应使用CSS变量配合外部控制动画属性,避免在@keyframes中直接引用变量或错误使用calc()。
-
<picture>必须包含末尾的<img>且带src属性,否则图片不显示;浏览器按顺序匹配<source>的type和media,最后回退到<img>的src作为fallback。
-
del标签语义上表示内容已被删除,浏览器默认渲染为删除线;它强调“曾存在但已移除”,需配合datetime属性增强可追溯性,不可与仅表过时的s标签混用。
-
前端缓存策略需平衡性能与一致性,核心包括:1.浏览器HTTP缓存(Cache-Control、ETag)和ServiceWorker实现网络资源缓存;2.内存缓存如函数记忆化与单例对象减少重复计算;3.本地存储(localStorage、IndexedDB)持久化数据并管理过期;4.结合时间戳、版本号或WebSocket实现实时更新机制,确保数据有效性。
-
<em>表示强调语气,用于传达重读、反讽或情绪张力;<i>表示非常规语义的特殊状态,如外文词、科技术语、船名等,不暗示强调。
-
<time>标签必须设置符合ISO8601标准的datetime属性(如2026-04-17或2026-04-17T04:38:00+08:00),否则退化为普通容器,导致结构化数据失效、屏幕阅读器无法识别、插件无法提取时间。
-
EdgeLegacy(≤79)完全不支持datalist,因其EdgeHTML引擎从未实现该HTML5规范,输入框无下拉建议、DOM忽略datalist、JS无法获取list属性,须用JS模拟下拉组件。
-
静态分页是用CSS+JS切割DOM实现的前端模拟分页,不依赖服务端或数据库;通过querySelectorAll获取条目、按pageSize切分二维数组chunks,再动态替换容器内容并绑定按钮控制翻页。
-
Less中calc()无法实现响应式图片裁剪,因编译时静态求值且不支持运行时尺寸计算;应使用变量+媒体查询预设padding-top或aspect-ratio,并避免用小数形式aspect-ratio。
-
使用@mediaprint优化打印样式,隐藏非必要元素,调整字体与边距,通过page-break-inside、page-break-before等控制分页,设置表格固定布局与图片自适应,确保内容完整、分页合理,并利用打印预览反复测试,实现清晰整洁的HTML打印效果。
-
AbortController是用于主动中止异步操作的信号机制,适用于搜索联想、轮询等需及时取消请求的场景;每次请求必须新建实例并传入signal,清理时调用abort(),React中应在useEffect清理函数中执行。
-
前端路由靠history.pushState或hashchange实现无刷新切换视图,禁用window.location.href是为保JS状态;pushState需同源相对路径与服务端配合返回统一HTML,hashchange兼容好但SEO差;核心难点是URL、历史、组件、滚动、表单等多状态同步。
-
纯CSS瀑布流不能用float实现等高列,因其过时、易错且破坏可访问性;推荐column-count(内容需为块级流)或CSSGrid(适合交互卡片),强需求则用Masonry库。
-
JSP需在服务器环境下运行,解决方法包括:1、使用Tomcat部署并访问JSP文件;2、用HTML结合JavaScript模拟动态内容;3、通过Servlet生成带数据的HTML;4、利用JSP包含机制模块化开发。
-
min-height不能修复float导致的父元素塌陷,它仅设高度下限却不触发BFC或清除浮动,无法让父容器感知浮动子元素,背景、边框及后续布局仍会错乱。