-
background-attachment:fixed在iOS和多数安卓WebView中被浏览器主动禁用以保性能,伪元素+position:fixed是可靠替代方案,需设top/left/right/bottom为0、z-index:-1、background-size:cover与center配合,并避免transform/filter干扰。
-
HTML5通过async和defer属性优化脚本加载:async适用于独立脚本(如统计代码),下载不阻塞解析但执行时机不确定;defer适用于依赖DOM的脚本(如轮播图),按顺序在DOM解析后执行;二者均不解决图片压缩、CSS阻塞等其他性能问题。
-
答案是通过合理使用组合选择器和命名规范来控制CSS优先级。应避免依赖高权重选择器如ID或!important,转而采用类组合与BEM等命名约定,提升样式的可维护性;通过父级类名限定作用范围,减少全局污染;团队中统一规范并借助工具检测,能有效降低优先级冲突,使CSS结构更清晰稳定。
-
img元素永远不匹配:empty,因其为替换元素且始终存在于DOM;可靠方案是onerror添加broken类,配合img.broken::after伪元素显示占位符,并注意object-fit下的定位错位问题。
-
富媒体摘要必须使用JSON-LD格式的<scripttype="application/ld+json">,且结构化数据需与页面可见内容严格一致;Article类型须含headline、datePublished、author等字段,image须为可访问的数组,datePublished等日期须为带时区的ISO格式。
-
外边距合并不是bug而是CSS规范行为:垂直相邻块级元素的margin-top/margin-bottom会取较大值合并。典型场景有相邻兄弟元素、父子塌陷、空元素自合并;推荐用BFC(如display:flow-root)、统一设margin-bottom、gap或微调padding/border来隔离。
-
最稳妥做法是使用<asidearia-label="该话题已于2024年6月15日关闭讨论"><p>已关闭讨论<timedatetime="2024-06-15">2024年6月15日</time></p></aside>,语义清晰、屏幕阅读器友好且利于SEO。
-
viewport是移动端页面正常显示的底线,必须写在<head>最前面且内容为width=device-width,initial-scale=1,缺一不可;否则iOSSafari默认按980px渲染,文字过小、布局错乱。
-
行为验证码需先调用SDK的verify()获取有效ticket再提交表单,后端必须调用厂商验证接口校验三元组参数,且注意字段名、时间同步和Referer/IP白名单配置。
-
JavaScript循环选择取决于数据结构和控制逻辑:次数确定或需索引用for;条件驱动且次数不定用while;需至少执行一次用do...while;遍历值优先for...of,避免for...in用于数组。
-
路由跳转内存泄漏核心在于组件未真实卸载或资源未释放:一是框架复用组件导致生命周期钩子未触发,二是全局监听、定时器、订阅等外部引用未清理,需通过钩子打点和浏览器工具双重验证。
-
现代三栏布局应弃用浮动圣杯布局,改用Flexbox或Grid:前者适合主内容高度多变、需DOM与视觉顺序分离的场景,后者适用于等高、统一间隙及语义优先的需求,二者均具备良好响应式支持与可维护性。
-
configurable是属性最底层的开关,设为false后无法删除属性、不可修改enumerable和configurable本身,仅允许将writable从true改为false;writable可逆需configurable为true,否则固化。
-
Vue通过异步队列批量更新Watcher,利用microtask(如Promise)在当前JS执行结束、渲染前统一刷新,避免冗余DOM操作;推荐用Object.freeze、分片更新、虚拟滚动等优化大批量响应式数据处理。
-
fixed定位缩放偏移的根源是视口坐标系漂移,须用vh/vw替代px实现同比例缩放,禁用混用单位、transform父级及错误viewport配置,并辅以visualViewportAPI微调。