-
a[href^="http"]可精准捕获HTTP/HTTPS外链,但需注意大小写敏感、HTTPS兼容及:visited伪类限制;文件与协议链接宜用[href$=".pdf"]和[href*="mailto:"]匹配。
-
使用相对单位(rem、em、%、vw/vh)替代px可实现响应式间距;通过clamp或基准换算设根字号,统一用rem定义间距;vw/vh适配视口,em保持嵌套比例;CSS变量提升可维护性。
-
PurgeCSS删不掉动态类名是因为它只识别静态字符串,无法感知运行时拼接、JS注入或模板字符串中的类名;需通过safelist显式保留、配置customextractors或改用支持AST解析的模式。
-
HTML5不支持直接设置边框实线,需用CSS的border属性实现;最简写法为border:2pxsolid#333;自适应靠rem、vw或容器响应式控制;移动端失效主因是缺失viewport、Retina屏1px发虚或overflow截断。
-
ChromeDevTools中强制触发:hover和:active状态,应右键Elements面板元素→“Forcestate”→勾选对应伪类;该方式基于渲染层介入,能真实复现浏览器状态解析逻辑,比手动加CSS规则更可靠,且不改变页面实际行为。
-
HTML5touch事件提供touchstart、touchmove、touchend和touchcancel四类原生接口,分别用于捕获触摸起始、移动、结束及中断状态,配合touches/changedTouches坐标读取、preventDefault控制与多点触控适配,可实现拖拽、滑动等交互;需手动封装支持事件委托。
-
JavaScript有7种原始类型(string、number、boolean、null、undefined、symbol、bigint)和1种引用类型,检测需综合typeof、instanceof、Object.prototype.toString.call()及专用方法如Array.isArray()。
-
Chrome68–92对autocomplete="new-password"支持不稳定:68–75仅注册/改密页有效,76–92遇name="password"等仍可能降级填充;93+起需动态name且立即设置,否则失效;iOSSafari长期不支持且长按粘贴绕过所有前端校验。
-
用window对象全局分发事件实现跨组件状态同步,本质是利用CustomEvent在全局广播状态变更,各组件通过addEventListener监听并响应,需注意生命周期管理、命名规范及内存泄漏风险。
-
JavaScript有七种原始数据类型:string、number、bigint、boolean、null、undefined、symbol;它们按值传递、不可变、自动装箱,且除null外typeof返回准确小写类型名。
-
background-clip:text配合-webkit-text-fill-color:transparent是实现可控七彩文字的核心方案,但Firefox完全不支持;text-shadow仅能模拟发光或描边,无法实现文字内部渐变填充,必须通过背景渐变裁剪实现。
-
用原生JavaScript实现优惠券弹窗需确保点击按钮后正确显示弹窗、将data-code属性中的优惠码复制到剪贴板、更新UI状态并持久化至localStorage,同时兼容iOSSafari等限制。
-
浮动元素错位因脱离文档流致父容器无法感知真实高度,矮元素右侧留空使后续元素上浮;硬设height易致溢出或留白;推荐用Grid替代,兼容性差时可退至Flex或用BFC清除浮动。
-
IE8不支持oninput事件,需用onpropertychange+onkeyup组合监听,并过滤非value属性变更;onpropertychange需校验propertyName==='value'并比对新旧值,再叠加onpaste/ondrop加setTimeout延迟读取以补全粘贴拖拽场景。
-
本文详解在HTML中存在多个同名(name)或重复ID(不推荐)表单元素时,如何安全、高效地批量获取其值,重点介绍getElementsByName和querySelectorAll的正确用法及最佳实践。