-
JavaScript通过FileAPI纯前端读取用户上传文件,核心是<inputtype="file">获取File对象,再用FileReader异步读取为文本、base64或ArrayBuffer;支持多选、图片预览、JSON解析等场景,受限于安全策略无法获取真实路径,IE9及以下不支持。
-
闭包是词法作用域、函数作为一等公民和垃圾回收机制共同作用的自然结果;当内部函数引用外部变量并逃出定义作用域执行时形成闭包,否则不构成;常见问题包括循环变量捕获异常和内存泄漏。
-
浮动图文间距问题根源在于行框高度计算异常,应通过vertical-align:top、明确line-height和BFC触发来修复,而非滥用margin/padding;现代布局推荐Grid/Flexbox替代float。
-
使用百分比宽度、flex布局和媒体查询可实现输入框自适应;设置max-width防止过宽,并通过@media优化小屏体验,结合flex-wrap实现多列响应式换行,确保表单在不同设备均良好显示。
-
本文详解为何复选框(checkbox)在标签包裹结构下常出现“首次点击无响应、需双击才生效”的问题,并提供基于事件委托、自动互斥控制与DOM同步的完整修复方案。
-
语义化标签是HTML5中具有明确含义的元素,如header、nav、main、article、section、aside、footer,它们通过定义内容结构提升可读性、SEO和无障碍访问,正确使用需根据内容意义选择标签而非仅替代div。
-
多列布局自动换行的本质是维持流式;float无法真正实现自动换行,仅靠手动清除或宽度匹配模拟,而Grid和Flexbox才能由浏览器动态计算并响应式换行。
-
position:sticky结合top可实现元素滚动吸附效果,如导航栏固定、多层菜单接力粘附;需注意父容器不能有overflow或transform限制,且必须设置top值才能生效。
-
JavaScript操作DOM的核心是获取元素后修改、增删内容及绑定事件。常用方法包括:获取元素(getElementById、querySelector等)、修改内容与属性(textContent、innerHTML、setAttribute等)、添加删除元素(createElement、appendChild、remove等)、事件绑定(addEventListener、event.target等)。
-
extends自动完成三件事:设置子类的[[Prototype]]指向父类、子类原型的[[Prototype]]指向父类原型、强制子类构造函数调用super();不调用super()会导致this未初始化而报ReferenceError。
-
本文讲解HTML中相对路径的正确用法,重点解决因误用绝对路径(如/contact.html)导致“页面未找到”的常见问题,并通过示例说明./contact.html等相对路径写法的实际效果与原理。
-
border会让元素变大是content-box的默认行为,width仅指内容区,border和padding向外撑;全局设box-sizing:border-box可解决,并需重置伪元素及注意兼容性。
-
全屏背景视频需设position:fixed+width:100vw;height:100vh+object-fit:cover;z-index失效因video创建独立堆叠上下文,应加isolation:isolate;移动端需muted、autoplay、playsinline三属性并存。
-
定位元素不触发Margin塌陷,因其脱离普通文档流、不参与BFC内相邻块级盒的外边距合并;但父容器若未形成BFC,其自身margin仍可能与兄弟元素塌陷。
-
flex-shrink未生效的根本原因是min-width:auto阻止收缩,必须显式设置min-width:0,并配合word-break或overflow-wrap强制折行及overflow:hidden裁剪。