-
用input.value获取控件当前值(含用户输入),而非getAttribute('value');多选下拉框需遍历options或用selectedOptions;checkbox/radio用checked判断状态,value恒为初始值;校验需调用checkValidity()并检查validity对象。
-
:focus状态下outline不消失是因浏览器UA样式优先级高或:focus-visible策略干扰;应避免直接outline:none损害可访问性,改用outline:2pxsolidtransparent或自定义样式,并补充-webkit-appearance:none等兼容写法。
-
真视差需JS监听scroll+requestAnimationFrame节流,用getBoundingClientRect计算元素视口位置,再以transform:translateY动态控制各层位移强度,禁用top/margin避免重排。
-
MP3文件无法转换为HTML,只能通过<audio>标签嵌入网页播放;需确保路径正确、添加controls和preload="metadata"属性,并提供.ogg备用格式以兼容Safari。
-
fixed弹窗叠在同一位置因均用固定top值且不参与文档流;需JS动态计算每个弹窗的top,基于已存在弹窗的实际高度与间距累加,并排除正在关闭的节点,确保DOM顺序、视觉状态与布局同步。
-
errorCaptured是Vue2.5+和Vue3中用于捕获子组件(含孙子)在渲染、生命周期钩子或事件处理中抛出的同步错误的钩子,不捕获自身错误和未桥接的异步错误;需返回false阻止错误冒泡。
-
使用repeat(auto-fit,minmax(200px,1fr))可实现等宽列自动布局,浏览器会根据容器宽度自动调整列数;minmax确保每列最小宽度为200px,空间充足时均分剩余宽度;auto-fit在屏幕变窄时减少列数并拉伸现有列,保持紧凑排列;相比auto-fill,auto-fit更适合响应式卡片布局,无需媒体查询即可适配多端屏幕。
-
JavaScript无法完全防止源码被查看,但可通过混淆(如Terser、javascript-obfuscator)、服务端逻辑下沉、动态加载、SourceMap脱离及反调试等分层手段提升逆向成本;禁用右键或Base64编码等做法无效。
-
Flex布局才是真·等间距解法,靠justify-content:space-between或space-around由浏览器自动分摊空白,需配display:flex、明确宽度及flex-wrap:wrap,并用object-fit或容器裁切统一图片尺寸以确保视觉等距。
-
gap不生效主因是父容器未设display:flex或浏览器不支持;iOSSafari14.5+、Chrome89+、Firefox63+才原生支持;flex中gap仅取第一个值,不支持row-gap/column-gap双值写法。
-
通过设置body{overflow:auto}并移除子容器的overflow-y:scroll,可将滚动行为交还给浏览器默认文档流,使滚动条显示在视口右侧,避免局部滚动导致的布局割裂问题。
-
CSS变量不能直接用于定位属性如top,必须用calc()包裹;变量值须带单位,否则calc()无法解析;margin等属性可直用var(),z-index等不支持;@keyframes中var()基本无效。
-
:hover触发放大阴影需加transition实现平滑动画,用transform:scale()和完整box-shadow值,显式设初始态,行内元素需display:inline-block,移动端应兼容touch事件并避免父容器overflow:hidden或transform裁剪。
-
监听inputfile的change事件获取FileList,用FormData构建数据体并用XMLHttpRequest上传,注意校验空文件、类型限制、进度监听及响应解析。
-
单例模式的本质是逻辑约束而非语法限制,确保类在整个应用生命周期中仅初始化一次且返回同一实例;适用于配置管理、日志器等跨模块共享组件,不适用于需多实例的场景。