-
npm是JavaScript项目的依赖管理工具,通过package.json声明契约、package-lock.json锁定精确版本,需用命令安装依赖而非手动修改文件,且必须提交lock文件以确保环境一致。
-
事件委托通过在父元素绑定单个监听器替代为大量子元素分别绑定,显著减少内存占用;它依赖事件冒泡和closest()精准定位目标元素,适用于动态列表等场景,但不适用于少量静态元素或需精细控制监听器生命周期的情况。
-
BEM命名报错主因是HTML中class含空格或点、构建工具误删修饰符、JS拼接不安全;应禁用cssnano的mergeLonghand等优化,用工具函数生成类名,块级变量挂块选择器下,修饰符变量仅覆盖必要项。
-
本文详解如何为TypeScript类添加delay(ms)实例方法,使其返回一个代理对象,支持对原类所有方法(除自身外)进行延迟调用,并保持类型安全与链式语法,同时规避常见类型推导陷阱。
-
本文介绍在React中结合CSS动画与手动控制,构建支持自动滚动、悬停暂停、双向鼠标滚轮/拖拽滚动的响应式水平横幅(marquee),解决translateX动画与scrollLeft冲突导致内容不可逆丢失的问题。
-
form必须显式设method="post"(小写、双引号),否则退化为GET;后端需匹配Content-Type(默认application/x-www-form-urlencoded)并启用对应解析中间件;字段靠name传递,非id/class;action中的查询参数仍会保留,敏感信息应放hiddeninput。
-
HTML5在APP中无法直接读取本地文件,需依赖容器能力:原生WebView需配置权限并限制路径,Capacitor/Cordova须经插件桥接,Electron因Node.js支持可行但属桌面端。
-
CSScounter无法实现倒计时,因其静态特性不支持时间驱动更新;真正可行方案是JS管理时间逻辑并更新DOM,CSS仅负责样式与过渡动画。
-
HTML中引入CSS有内联、内部(<style>)和外部(<link>)三种方式,推荐外链;CSS变量以--开头,在:root或选择器中声明,用var()函数调用并可设回退值,JS需用setProperty修改。
-
opacity属性用于控制元素整体透明度,取值0到1,影响元素及其子元素的视觉呈现。正确使用可提升界面美观与体验,但需注意其会降低所有内容(包括文字、图片)的可见性。若仅需背景透明,应使用rgba或hsla颜色值,以保持文字清晰。结合背景图时,适当调整opacity可实现自然融合,常用于遮罩层或登录框,建议配合position和z-index控制层级。在交互设计中,opacity配合transition可实现淡入淡出动画,适用于按钮悬停、提示框显示等场景,但应避免透明度过低影响可读性。关键在于区分整体透明
-
autocomplete属性必须写在每个<input>标签上才有效,如autocomplete="email";仅写在<form>上无效,且值须符合W3C规范,密码字段需同时满足type="password"和autocomplete="current-password"或"new-password"。
-
--progress变量需设为带%单位的初始值(如0%),通过element.style.setProperty()动态更新,配合CSS中var(--progress)和transition实现进度条动画;避免无效值、跨层级读取及同步布局操作。
-
直接写vw或rem在CSS-in-JS中易出错,因库默认为数字值自动添加px单位;须显式传字符串(如"16vw")或使用clamp()等原生方案确保单位生效。
-
border-radius:50%只有在元素宽高相等时才是正圆;若宽高不等(如400×300图片未设正方形容器),则呈现椭圆。需显式设置相等宽高、配合object-fit:cover或overflow:hidden+父容器裁剪,兼顾兼容性与响应式。
-
rel="prefetch"仅在浏览器空闲且低优先级带宽可用时触发,适用于同源可预测后续页面的文档等可缓存资源,需指定as属性和正确路径,Chrome/Edge支持较好而Safari更保守。