-
应引入UI组件库,当反复重写DatePicker等交互组件时;AntDesign更适中后台,因其Form/Table/a11y支持更完善;SSR支持仅在Nuxt/Next等场景必要;自研仅当设计约束不可配、专人维护、5+高频组件跨业务复用时才合理。
-
input[type="text"]比.form-input更易维护,因其按控件类型分层处理,避免checkbox拉宽、number箭头残留等问题;属性选择器需注意大小写敏感、引号规范及hidden类型排除。
-
自动播放媒体严重影响用户体验、性能和无障碍性,应避免使用。其负面影响包括:1.突发声音干扰用户,造成尴尬;2.流量消耗过快,影响加载速度;3.页面加载缓慢,降低用户留存;4.占用CPU资源,增加设备能耗;5.与屏幕阅读器冲突,影响无障碍访问。为应对浏览器对自动播放的限制,开发者应:1.默认禁用自动播放;2.提供清晰播放控件;3.使用静音自动播放并配合playsinline属性;4.通过Promise处理play()调用并优雅降级;5.优化媒体加载策略,如preload="none"或lazy加载;6.对短
-
使用::after伪元素清除浮动可解决父元素高度塌陷问题。因浮动子元素脱离文档流,父容器无法自动撑开,导致背景色等样式显示异常。通过为父容器添加clearfix类,利用::after生成隐藏块元素并设置clear:both,从而包含浮动内容。该方法无需额外标签,不破坏结构,是推荐的通用解决方案。相比设固定高度、加空标签或触发BFC等方式,更为简洁安全。最终实现父容器正确包裹子元素,背景和边框正常显示。
-
实现HTML表格数据的模糊搜索,最常见方法是使用JavaScript进行DOM操作,通过监听输入事件实时筛选并显示匹配行。1.基本实现:获取用户输入,遍历表格每一行和单元格,判断内容是否包含关键词,动态设置行的显示或隐藏;2.性能优化:对大数据量表格,采用节流/防抖机制延迟执行搜索函数,减少频繁触发;3.进阶优化:将表格数据提取到数组中,减少DOM访问频率;4.更智能的模糊搜索:引入编辑距离算法或使用Fuse.js等库,提升匹配准确性和容错能力;5.后端搜索优势:适用于海量、敏感或需多用户协作的场景,借助
-
按钮和文字混排垂直居中失效,因align-items仅在flex容器上对其直接子元素生效;推荐用vertical-align:middle配合line-height统一基线,或外层设display:flex+align-items:center。
-
align-items:baseline会让元素看起来“偏高”是因为替换元素(如input、img)的基线位于下边缘上移x高度处,而非文字底部;替代方案包括flex-end(底对齐)、center(居中)、align-self单独调整等。
-
防抖是“等你停手再执行”,节流是“固定节奏执行”;防抖适用于搜索建议、表单校验等需操作结束后响应的场景,节流适用于滚动加载、resize适配等需持续但限频响应的场景。
-
浮动元素的宽高遵循CSS盒模型,宽度未设置时由内容决定,行内元素浮动后转为块级;高度由内容撑开,子元素浮动可能导致塌陷,需清除浮动;box-sizing影响宽高计算,margin、padding等正常应用但外边距折叠可能变化,常用于文字环绕或布局,建议配合清除浮动并优先使用Flexbox或Grid。
-
JSON.parse()遇Unexpectedtoken错误主因是字符串含HTML标签、BOM、缩进不规范或字段名缺双引号;应先trim去空、检查不可见字符,优先用response.json();JSON.stringify()会忽略函数/undefined/Symbol等,需replacer处理特殊类型;嵌套JSON须两层解析并try/catch;环境差异上,浏览器fetch自动校验Content-Type,Node.js需手动处理,且均不支持注释和尾随逗号。
-
navigator可获取userAgent、platform、vendor、hardwareConcurrency、deviceMemory、maxTouchPoints等属性,其中platform和maxTouchPoints相对可靠;iOS判断需结合UA匹配与触控特征;UA已因减损策略不可信,推荐用运行时能力探测替代字符串解析。
-
应根据需求选择偏移方式:需精确控制位置且影响布局流时用position+top/left;仅视觉偏移且不扰动布局时优先用transform:translate();简单联动调整可用margin;响应式场景推荐rem、%或clamp()。
-
对象字面量创建快且兼容JSON,构造函数适合批量创建和继承;字面量方法重复,构造函数通过prototype共享方法;漏new会导致this指向错误。
-
多列布局与Grid结合可兼顾整体结构与文本排版。1.使用Grid定义页面框架,如头部、侧边栏与主内容区;2.在Grid区域(如main)内部应用column-count、column-gap等实现多列文本;3.通过column-span让图片跨列显示;4.配合媒体查询实现响应式调整,大屏用多列小屏切单列;5.注意浏览器兼容性与容器层级影响。此方案融合两者优势,提升阅读体验。
-
H5通过WebXR、WebGL等API为HTML赋予虚拟现实支持,实现浏览器内沉浸式体验。1.WebXR连接VR硬件,管理渲染会话;2.WebGL基于GPU加速3D图形渲染;3.WebAudioAPI提供空间音频;4.辅助API如DeviceOrientation和Fullscreen增强体验。相比原生VR开发,WebXR具备跨平台、即开即用优势,但性能受限于浏览器环境。常用技术栈包括Three.js、A-Frame、Babylon.js等框架,结合懒加载、模型优化、减少渲染批次等手段提升性能。用户体验需