-
本文详解为何固定背景图(fixedbackground-attachment)在移动端会被浮动列内容遮盖,并通过移除显式height声明、合理设置z-index与堆叠上下文,彻底解决背景图消失问题。
-
z-index不生效的根本原因是元素未处于层叠上下文中;只有在层叠上下文内部,z-index才决定子元素堆叠顺序,跨上下文时父级整体层级优先。
-
XHTML是用XML规则约束HTML的变体,非升级版;要求标签小写、属性值加引号、空元素自闭合、且必须声明application/xhtml+xmlMIME类型,否则解析失败或退化为HTML。
-
浏览器中不能直接用btoa()编码图片二进制数据,需用FileReader.readAsDataURL()转为Base64字符串并截取data:前缀后部分;Node.js中用Buffer.toString('base64');注意MIME类型匹配、长度限制及避免重复编码。
-
直接改:root颜色变量失效,是因为CSS变量存在作用域和层叠顺序:后声明覆盖前声明,组件级样式会局部覆盖全局变量;应统一在:root顶部声明且不重复定义,避免硬编码重写,并检查构建工具插入顺序。
-
system-ui是CSS的字体族关键字,不是颜色值;color:system-ui无效且被浏览器忽略,系统文字颜色需用prefers-color-scheme媒体查询配合明确色值实现跨平台适配。
-
HTML5不提供音频元数据加密能力,真正防护需服务端策略与前端限制结合:避免明文嵌入敏感信息、动态注入脱敏元数据、剥离ID3标签;MediaMetadata仅用于显示,非加密机制;高安全需求应采用DRM或流式混淆方案。
-
WebLocksAPI不能直接防止IndexedDB写冲突,仅提供跨标签页互斥信号;必须将“打开库→事务→写入→awaittx.done”全流程严格包裹在awaitnavigator.locks.request()回调中,且所有入口共用带业务唯一标识的锁名(如'db-write-note-456'),并为Safari等不支持环境提供服务端幂等或localStorage降级方案。
-
JavaScript通过WebWorkers实现多线程并发,配合SharedArrayBuffer与Atomics支持共享内存和原子操作,可在浏览器和Node.js中进行高效并行计算,但需满足跨源隔离等安全策略。
-
该用<style>标签而非外部CSS文件的场景是:样式仅服务单页、改动频繁(如A/B测试页)或需快速验证布局;它省HTTP请求、避免路径错误,但无法缓存、易耦合JS、不支持构建工具处理。
-
虚拟DOM是用JavaScript对象模拟真实DOM的轻量层,避免频繁重排重绘,支持批量更新与跨平台;React.createElement等返回虚拟DOM对象,diff算法仅同层级同type比较,key用于标识可复用节点,列表渲染须用稳定唯一key。
-
HTML5元素样式可通过内联style属性、内部样式表、外部CSS文件、CSS类选择器和ID选择器五种方式设置;内联样式优先级最高,内部样式表置于<head>中,外部CSS便于复用,class支持多值复用,id须全局唯一。
-
当使用text-indent:-20px配合margin-left:20px实现悬挂缩进时,若前有左浮动元素(如广告栏),文本可能异常覆盖其上;根本解法是通过clear:both强制段落从浮动元素下方开始流式布局。
-
侧滑删除菜单用transform而不用left或margin,因其触发硬件加速、避免重排卡顿;需配合will-change、overflow:hidden、精准贝塞尔过渡及touchmove实时计算位移,并处理框架响应式冲突与iOS/安卓兼容性问题。
-
SharedWorker可实现同源多标签页共享后台线程与状态,需单独部署脚本、手动维护state并通过MessagePort通信,不支持DOM但可调用fetch/IndexedDB,须HTTPS、注意Safari兼容性及持久化补充。