-
用position:fixed+transform可实现无需预知宽高的真居中模态框:top:50%;left:50%;transform:translate(-50%,-50%),兼容IE10+;相比flex居中更稳定,避免溢出和层叠上下文干扰;backdropz-index设为1040,modal设为1050。
-
JavaScript内存管理依赖垃圾回收机制,通过可达性判断对象是否可回收。开发者需避免意外全局变量、未清理的定时器与事件监听、闭包长期持有大对象及DOM引用残留导致的内存泄漏。使用严格模式、及时解绑资源、弱引用结构(如WeakMap、WeakSet)并结合ChromeDevTools分析内存使用,可有效优化性能,防止内存持续增长。
-
Flex容器滚动卡顿主因是浏览器对flex-wrap布局的O(n²)算法复杂度,子元素超200个时重排耗时骤增;可用content-visibility:auto(配contain-intrinsic-size)、优化flex-basis、或改用Grid/绝对定位缓解。
-
hover:rotate-180不生效主因是inline元素不支持transform,需设inline-block或block;旋转中心偏移应配合origin-*类;动画卡顿需加transition-transform和will-change-transform;动态控制应改用条件class而非仅hover。
-
要成功运行自建HTML网页,首先需保存为.html文件并用浏览器直接打开预览;若需HTTP环境,则可通过Node.js的http-server、Python内置服务器或VSCode的LiveServer插件启动本地服务器,再在浏览器访问对应地址查看效果。
-
简写的十六进制颜色码是当每对红、绿、蓝颜色值相同时,可将六位#RRGGBB缩写为三位#RGB格式,如#FF00CC→#F0C;仅当每种颜色的两位十六进制数相同才可简写,否则需保留完整格式;该规则广泛用于CSS中设置文字、背景、边框等样式,能减少文件体积、提升加载效率;优点包括书写快捷、节省字符、提高可读性且兼容现代浏览器;注意事项有:非重复值不可简写,团队开发需统一规范,避免混用格式造成维护困难,部分工具默认输出六位格式需手动调整;掌握“成对相同才能缩”的原则即可正确使用。
-
HTML中图片下方空白间隙的真正原因是img默认为inline元素并按基线对齐,留出下降部空间;最有效修复是设置vertical-align:bottom等非baseline值。
-
可通过innerHTML、textContent、className、classList和style五种方法动态更新HTML元素内容或样式:innerHTML替换全部HTML内容;textContent仅更新纯文本;className整体覆盖类名;classList精准增删改查单个类;style直接设置内联样式。
-
直接赋值innerHTML会丢失脚本执行和样式加载,应使用DOMParser解析后动态注入并手动处理script标签,同时注意跨域、CSP限制及框架组件生命周期问题。
-
qrcode.js不支持直接美化,需换库(如@xkeshi/qrcode)或用CSS容器装饰、Canvas二次绘制;前者支持logo、多色模块等原生配置,后者可导出含样式的高清PNG。
-
:root是CSS伪类选择器,匹配文档根元素(HTML中为<html>),特异性高于html选择器,主要用于声明全局CSS自定义属性,是主题切换和设计系统变量管理的首选挂载点。
-
用box-shadow模拟边框能绕过对齐问题,因为box-shadow不参与盒模型计算,不会改变元素宽高、padding或border-box尺寸,可严格保持Grid/Flex布局承诺,且天然兼容border-radius,但不支持虚线、点线及outline行为。
-
本文详解在存在多个类名的情况下,如何准确通过querySelector匹配“至少有一个类名以指定字符串结尾”的HTML元素,涵盖*=、~=等属性选择器的适用场景与关键区别,并推荐最可靠方案。
-
原生HTML无法实现多规格联动选择,必须配合JavaScript;关键在于HTML结构设计:用<fieldset>分组、<inputtype="radio">或<button>作为选项,添加data-spec和data-value属性,避免中文判断与硬编码映射。
-
IndexedDB不能替代离线存储,仅负责结构化数据持久化;完整离线需配合CacheAPI或ServiceWorker缓存静态资源,二者分工明确、不可错配。