-
负边距导致重叠内容被裁切或错乱,因容器不自动扩容且可能有overflow:hidden;需用position+z-index控制层叠,或grid-row/column精准定位共享轨道。
-
animation-fill-mode:forwards仅对完整执行完毕的动画生效,若被paused或JS修改animation属性则失效;需确保动画自然结束,暂停用animationPlayState,读取状态用getComputedStyle和DOMMatrix。
-
:has()无法实现真正隔行变色,只能通过条件过滤跳过特定行;其本质是存在性判断而非序号计算,需配合:not()和兄弟选择器手动模拟,或改用JS动态添加视觉序号类。
-
表单必须用<form>包裹才能触发submit事件和原生校验;label须通过for+id或嵌套input实现与控件绑定;响应式优先用flex+max-width而非媒体查询;提交时需前端禁用按钮并配合后端幂等处理防重复提交。
-
在@mediaprint中强制黑白打印需显式重置color为black、background-color为white,并禁用图片、阴影、边框等干扰项,同时用!important覆盖框架样式,确保所有文字黑、背景白、无色块与灰斑。
-
答案是JavaScript内存管理需关注垃圾回收与泄漏防范。从根对象标记可达对象,清除不可达者;引用计数因循环引用问题被淘汰。常见泄漏包括意外全局变量、未解绑事件监听、闭包引用不当及定时器持有外部对象。使用严格模式、及时解绑、清除定时器及开发者工具如内存快照可有效检测与预防问题。
-
图片在移动端拉伸变形的直接原因是未切断width和height的强制绑定,应使用max-width:100%;height:auto;并清除内联宽高属性、避免flex默认拉伸、配合vertical-align等细节。
-
JavaScript中对象扩展运算符({...obj})执行浅拷贝,仅复制第一层属性值,对嵌套引用类型只复制地址,导致修改嵌套内容时新旧对象相互影响。
-
JavaScript操作DOM和CSS样式的三大核心是:获取元素(如getElementById、querySelector)、修改内容结构(textContent、innerHTML、appendChild等)、动态改样式(行内style、classList切换、insertRule)。
-
JavaScript通过MediaDevices.getUserMedia()获取本地摄像头视频流并绑定到video元素播放;VideoAPI支持播放控制、元数据获取、状态监听、音视频轨道操作及Canvas/WebRTC协同处理。
-
移动端适配需以viewport为基础,结合rem弹性布局、flex/flexible布局实现自适应,通过媒体查询微调不同屏幕样式,并使用响应式图片优化资源加载,综合运用可覆盖多数场景。
-
JSON操作核心是JSON.parse()和JSON.stringify(),需防范非字符串输入、BOM字符、循环引用、特殊值丢失等问题,replacer/reviver是安全扩展点,严格遵循JSON规范(双引号、无尾逗号)。
-
Vue响应式系统触发的是局部更新而非全量更新,通过细粒度依赖追踪精准通知相关组件重新渲染并执行vnodediff与patch。
-
深拷贝创建完全独立的新对象,所有嵌套层级均重新分配内存;浅拷贝仅复制顶层,引用类型仍共享内存。推荐优先使用structuredClone(),兼容性要求高时可用JSON序列化或Lodash的_.cloneDeep()。
-
border会占位因默认box-sizing:content-box下宽度不包含边框;可用box-shadow模拟视觉边框以避免撑大布局,如box-shadow:0002px#333实现不占位边框;但box-shadow无法响应交互且不支持虚线,推荐优先使用box-sizing:border-box使border包含在宽高中,结合两者可灵活控制布局与视觉效果。